diff options
author | Adam Jackson <ajax@redhat.com> | 2011-06-29 15:48:34 -0400 |
---|---|---|
committer | Adam Jackson <ajax@redhat.com> | 2012-03-09 12:02:41 -0500 |
commit | 245371b3ff48a9b5089a02c02056a1df5999f1fd (patch) | |
tree | c17d344d1cfb97e4a577eaf6c1e1536624b25270 | |
parent | b1be72c5ca6cb98ba64637990b142be0f1710a19 (diff) |
dri2: Don't block GLX clients on VT switchdri2-no-block
This was necessary in DRI1 for a variety of reasons (SAREA ownership,
VRAM layout, etc). None of that is relevant to DRI2. Tested with Gnome
3 on an Ironlake GPU.
As a pleasant side effect, we no longer need the ScrnInfoRec type, which
means DRI2 is (at least very nearly) DDX-independent.
Signed-off-by: Adam Jackson <ajax@redhat.com>
-rw-r--r-- | glx/glxdri2.c | 51 |
1 files changed, 0 insertions, 51 deletions
diff --git a/glx/glxdri2.c b/glx/glxdri2.c index 5e524db99..96ab30386 100644 --- a/glx/glxdri2.c +++ b/glx/glxdri2.c @@ -64,9 +64,6 @@ struct __GLXDRIscreen { void *driver; int fd; - xf86EnterVTProc *enterVT; - xf86LeaveVTProc *leaveVT; - const __DRIcoreExtension *core; const __DRIdri2Extension *dri2; const __DRI2flushExtension *flush; @@ -594,48 +591,6 @@ static const __DRIextension *loader_extensions[] = { NULL }; -static Bool -glxDRIEnterVT (int index, int flags) -{ - ScrnInfoPtr scrn = xf86Screens[index]; - Bool ret; - __GLXDRIscreen *screen = (__GLXDRIscreen *) - glxGetScreen(screenInfo.screens[index]); - - LogMessage(X_INFO, "AIGLX: Resuming AIGLX clients after VT switch\n"); - - scrn->EnterVT = screen->enterVT; - - ret = scrn->EnterVT (index, flags); - - screen->enterVT = scrn->EnterVT; - scrn->EnterVT = glxDRIEnterVT; - - if (!ret) - return FALSE; - - glxResumeClients(); - - return TRUE; -} - -static void -glxDRILeaveVT (int index, int flags) -{ - ScrnInfoPtr scrn = xf86Screens[index]; - __GLXDRIscreen *screen = (__GLXDRIscreen *) - glxGetScreen(screenInfo.screens[index]); - - LogMessage(X_INFO, "AIGLX: Suspending AIGLX clients for VT switch\n"); - - glxSuspendClients(); - - scrn->LeaveVT = screen->leaveVT; - (*screen->leaveVT) (index, flags); - screen->leaveVT = scrn->LeaveVT; - scrn->LeaveVT = glxDRILeaveVT; -} - static void initializeExtensions(__GLXDRIscreen *screen) { @@ -696,7 +651,6 @@ __glXDRIscreenProbe(ScreenPtr pScreen) const char *driverName, *deviceName; __GLXDRIscreen *screen; size_t buffer_size; - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; screen = calloc(1, sizeof *screen); if (screen == NULL) @@ -771,11 +725,6 @@ __glXDRIscreenProbe(ScreenPtr pScreen) screen->base.GLXmajor = 1; screen->base.GLXminor = 4; - screen->enterVT = pScrn->EnterVT; - pScrn->EnterVT = glxDRIEnterVT; - screen->leaveVT = pScrn->LeaveVT; - pScrn->LeaveVT = glxDRILeaveVT; - LogMessage(X_INFO, "AIGLX: Loaded and initialized %s\n", driverName); |