summaryrefslogtreecommitdiff
path: root/src/miniglx/miniglxP.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/miniglx/miniglxP.h')
-rw-r--r--src/miniglx/miniglxP.h33
1 files changed, 22 insertions, 11 deletions
diff --git a/src/miniglx/miniglxP.h b/src/miniglx/miniglxP.h
index 052d896fd9..bbee5d6ae4 100644
--- a/src/miniglx/miniglxP.h
+++ b/src/miniglx/miniglxP.h
@@ -206,10 +206,16 @@ struct MiniGLXDriverRec {
*/
void (*haltFBDev)( struct MiniGLXDisplayRec *dpy );
+
/**
- * \brief Handle VT switch events.
+ * \brief Idle and shutdown hardware in preparation for a vt switch.
*/
- int (*handleVTSwitch)( struct MiniGLXDisplayRec *dpy, int have_vt );
+ int (*shutdownHardware)( struct MiniGLXDisplayRec *dpy );
+
+ /**
+ * \brief Restore hardware state after regaining the vt.
+ */
+ int (*restoreHardware)( struct MiniGLXDisplayRec *dpy );
};
@@ -316,22 +322,18 @@ struct MiniGLXDisplayRec {
int ConsoleFD; /**< \brief console TTY device file descriptor */
int FrameBufferFD; /**< \brief framebuffer device file descriptor */
caddr_t FrameBuffer; /**< \brief start of the mmap'd framebuffer */
-/* int FrameBufferSize; */ /**< \brief size of the mmap'd framebuffer in bytes */
caddr_t MMIOAddress; /**< \brief start of the mmap'd MMIO region */
int MMIOSize; /**< \brief size of the mmap'd MMIO region in bytes */
int NumWindows; /**< \brief number of open windows */
Window TheWindow; /**< \brief open window - only allow one window for now */
int rotateMode;
- int haveVT;
- int aquireVTCount;
- int releaseVTCount;
- int exposeNotifyCount;
- int mapNotifyCount;
- int unmapNotifyCount;
+
+ volatile int vtSignalFlag, haveVT;
+ int hwActive;
- int IsClient;
+ int IsClient, clientID;
int nrFds;
struct MiniGLXConnection *fd;
@@ -384,6 +386,13 @@ struct MiniGLXDisplayRec {
/*@}*/
+ /**
+ * \name Client configuration details
+ *
+ * These are computed on the server and sent to clients as part of
+ * the initial handshaking.
+ */
+ /*@{*/
struct {
unsigned long hSAREA;
int SAREASize;
@@ -394,6 +403,7 @@ struct MiniGLXDisplayRec {
int virtualWidth;
int virtualHeight;
} shared;
+ /*@}*/
/**
@@ -401,7 +411,8 @@ struct MiniGLXDisplayRec {
*/
/*@{*/
int drmFD; /**< \brief DRM device file descriptor */
- void *pSAREA;
+ struct _XF86DRISAREA *pSAREA;
+ unsigned int serverContext; /**< \brief DRM context only active on server */
/*@}*/
/**