xserver: Branch 'input-hotplug' - 3 commits

Daniel Stone daniels at kemper.freedesktop.org
Wed Aug 9 07:21:09 EEST 2006


 composite/compinit.c           |   46 +++++++++++++++++++++++++++++++++++++----
 composite/compint.h            |   13 +++++------
 composite/compwindow.c         |    2 -
 hw/kdrive/ati/Makefile.am      |    3 --
 hw/kdrive/chips/Makefile.am    |    2 -
 hw/kdrive/ephyr/Makefile.am    |    6 -----
 hw/kdrive/epson/Makefile.am    |    2 -
 hw/kdrive/fake/Makefile.am     |    5 ----
 hw/kdrive/fbdev/Makefile.am    |    4 ---
 hw/kdrive/i810/Makefile.am     |    2 -
 hw/kdrive/linux/Makefile.am    |   13 -----------
 hw/kdrive/mach64/Makefile.am   |    3 --
 hw/kdrive/mga/Makefile.am      |    2 -
 hw/kdrive/neomagic/Makefile.am |    2 -
 hw/kdrive/nvidia/Makefile.am   |    2 -
 hw/kdrive/pm2/Makefile.am      |    2 -
 hw/kdrive/r128/Makefile.am     |    2 -
 hw/kdrive/sdl/Makefile.am      |    2 -
 hw/kdrive/sis300/Makefile.am   |    2 -
 hw/kdrive/smi/Makefile.am      |    2 -
 hw/kdrive/vesa/Makefile.am     |    4 ---
 hw/kdrive/via/Makefile.am      |    2 -
 22 files changed, 49 insertions(+), 74 deletions(-)

New commits:
diff-tree 5506b4ad200745236f997c121e8200179c47b749 (from parents)
Merge: 4be9abb8504b3761b5f3a01851e4eb3da86c76e2 462bb61b0fe968fae1b99cf98ec6f7de09105dcd
Author: Daniel Stone <daniel at fooishbar.org>
Date:   Wed Aug 9 07:21:01 2006 +0300

    Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into input-hotplug

diff-tree 4be9abb8504b3761b5f3a01851e4eb3da86c76e2 (from fe351a711ef55c3ae1e784d4551147c080eda109)
Author: Daniel Stone <daniel at fooishbar.org>
Date:   Wed Aug 9 07:20:16 2006 +0300

    kdrive: remove ddx_DEPENDENCIES
    Remove foo_DEPENDENCIES as they weren't guaranteed to just be libs,
    and loader arguments (-lfoo, -Lfoo) might've crept in.

diff --git a/hw/kdrive/ati/Makefile.am b/hw/kdrive/ati/Makefile.am
index b234181..94d525e 100644
--- a/hw/kdrive/ati/Makefile.am
+++ b/hw/kdrive/ati/Makefile.am
@@ -67,6 +67,3 @@ Xati_LDADD = \
 	@KDRIVE_LIBS@			\
 	@XSERVER_LIBS@			\
 	$(TSLIB_FLAG)
-
-
-Xati_DEPENDENCIES = $(ATI_LIBS)
diff --git a/hw/kdrive/chips/Makefile.am b/hw/kdrive/chips/Makefile.am
index e308077..146c1df 100644
--- a/hw/kdrive/chips/Makefile.am
+++ b/hw/kdrive/chips/Makefile.am
@@ -29,5 +29,3 @@ Xchips_LDADD = \
 	@KDRIVE_LIBS@                          \
 	@XSERVER_LIBS@				\
 	$(TSLIB_FLAG)
-
-Xchips_DEPENDENCIES = $(CHIPS_LIBS) @KDRIVE_LIBS@
diff --git a/hw/kdrive/ephyr/Makefile.am b/hw/kdrive/ephyr/Makefile.am
index 6982d80..b8f12c5 100644
--- a/hw/kdrive/ephyr/Makefile.am
+++ b/hw/kdrive/ephyr/Makefile.am
@@ -35,9 +35,3 @@ Xephyr_LDADD = 						\
 	@KDRIVE_LIBS@					\
         $(TSLIB_LIBS)                                   \
         @XEPHYR_LIBS@
-
-Xephyr_DEPENDENCIES =					\
-	libxephyr.a					\
-	libxephyr-hostx.a                               \
-	@KDRIVE_LIBS@					\
-	../../../exa/libexa.la					
diff --git a/hw/kdrive/epson/Makefile.am b/hw/kdrive/epson/Makefile.am
index 0538f4c..1a24d43 100644
--- a/hw/kdrive/epson/Makefile.am
+++ b/hw/kdrive/epson/Makefile.am
@@ -29,5 +29,3 @@ Xepson_LDADD = \
 	@KDRIVE_LIBS@                          \
 	@XSERVER_LIBS@				\
 	$(TSLIB_FLAG)
-
-Xepson_DEPENDENCIES = $(EPSON_LIBS) @KDRIVE_LIBS@
diff --git a/hw/kdrive/fake/Makefile.am b/hw/kdrive/fake/Makefile.am
index f3a6a34..a9c9aff 100644
--- a/hw/kdrive/fake/Makefile.am
+++ b/hw/kdrive/fake/Makefile.am
@@ -26,8 +26,3 @@ Xfake_LDADD = 						\
 	@KDRIVE_LIBS@					\
 	$(TSLIB_FLAG)                                   \
         @XSERVER_LIBS@
-
-Xfake_DEPENDENCIES =					\
-	libfake.a					\
-	@KDRIVE_LIBS@					
-
diff --git a/hw/kdrive/fbdev/Makefile.am b/hw/kdrive/fbdev/Makefile.am
index 39e9ba4..deed3c9 100644
--- a/hw/kdrive/fbdev/Makefile.am
+++ b/hw/kdrive/fbdev/Makefile.am
@@ -23,8 +23,4 @@ Xfbdev_LDADD = 						\
 	@KDRIVE_LIBS@					\
 	@XSERVER_LIBS@					\
 	$(TSLIB_FLAG)
-
-Xfbdev_DEPENDENCIES =					\
-	libfbdev.a					\
-	@KDRIVE_LIBS@					
 endif
diff --git a/hw/kdrive/i810/Makefile.am b/hw/kdrive/i810/Makefile.am
index d676a69..5f7b2ac 100644
--- a/hw/kdrive/i810/Makefile.am
+++ b/hw/kdrive/i810/Makefile.am
@@ -31,5 +31,3 @@ Xi810_LDADD = \
 	@KDRIVE_LIBS@                                  \
 	@XSERVER_LIBS@					\
 	$(TSLIB_FLAG)
-
-Xi810_DEPENDENCIES = $(I810_LIBS) @KDRIVE_LIBS@
diff --git a/hw/kdrive/linux/Makefile.am b/hw/kdrive/linux/Makefile.am
index 29959df..e13d083 100644
--- a/hw/kdrive/linux/Makefile.am
+++ b/hw/kdrive/linux/Makefile.am
@@ -32,16 +32,3 @@ liblinux_a_SOURCES = 	\
 	$(KDRIVE_HW_SOURCES) \
 	$(TSLIB_C)	\
 	$(TS_C)
-
-liblinux_a_DEPENDENCIES = \
-	agp.c		\
-	bus.c		\
-	keyboard.c	\
-	linux.c		\
-	mouse.c		\
-	evdev.c		\
-	ms.c		\
-	ps2.c		\
-	$(TSLIB_C)	\
-	$(TS_C)
-
diff --git a/hw/kdrive/mach64/Makefile.am b/hw/kdrive/mach64/Makefile.am
index 299565f..3040a89 100644
--- a/hw/kdrive/mach64/Makefile.am
+++ b/hw/kdrive/mach64/Makefile.am
@@ -32,6 +32,3 @@ Xmach64_LDADD = 					\
 	@KDRIVE_LIBS@					\
 	@XSERVER_LIBS@					\
 	$(TSLIB_FLAG)
-
-
-Xmach64_DEPENDENCIES = $(MACH64_LIBS) @KDRIVE_LIBS@
diff --git a/hw/kdrive/mga/Makefile.am b/hw/kdrive/mga/Makefile.am
index 64d260e..7853cba 100644
--- a/hw/kdrive/mga/Makefile.am
+++ b/hw/kdrive/mga/Makefile.am
@@ -31,5 +31,3 @@ Xmga_LDADD = \
 	@KDRIVE_LIBS@                                  \
 	@XSERVER_LIBS@					\
 	$(TSLIB_FLAG)
-
-Xmga_DEPENDENCIES = $(MGA_LIBS) @KDRIVE_LIBS@
diff --git a/hw/kdrive/neomagic/Makefile.am b/hw/kdrive/neomagic/Makefile.am
index b37bfc3..8b8db6a 100644
--- a/hw/kdrive/neomagic/Makefile.am
+++ b/hw/kdrive/neomagic/Makefile.am
@@ -43,5 +43,3 @@ Xneomagic_LDADD = \
 	@KDRIVE_LIBS@               \
 	@XSERVER_LIBS@					\
 	$(TSLIB_FLAG)
-
-Xneomagic_DEPENDENCIES = $(NEOMAGIC_LIBS) @KDRIVE_LIBS@
diff --git a/hw/kdrive/nvidia/Makefile.am b/hw/kdrive/nvidia/Makefile.am
index 48551a3..848b4cc 100644
--- a/hw/kdrive/nvidia/Makefile.am
+++ b/hw/kdrive/nvidia/Makefile.am
@@ -32,5 +32,3 @@ Xnvidia_LDADD = \
 	@KDRIVE_LIBS@				\
 	@XSERVER_LIBS@					\
 	$(TSLIB_FLAG)
-
-Xnvidia_DEPENDENCIES = $(NVIDIA_LIBS) @KDRIVE_LIBS@
diff --git a/hw/kdrive/pm2/Makefile.am b/hw/kdrive/pm2/Makefile.am
index 1a71207..7ca2936 100644
--- a/hw/kdrive/pm2/Makefile.am
+++ b/hw/kdrive/pm2/Makefile.am
@@ -30,5 +30,3 @@ Xpm2_LDADD = \
 	@KDRIVE_LIBS@                          \
 	@XSERVER_LIBS@					\
 	$(TSLIB_FLAG)
-
-Xpm2_DEPENDENCIES = $(PM2_LIBS) @KDRIVE_LIBS@
diff --git a/hw/kdrive/r128/Makefile.am b/hw/kdrive/r128/Makefile.am
index b33e138..5d783ee 100644
--- a/hw/kdrive/r128/Makefile.am
+++ b/hw/kdrive/r128/Makefile.am
@@ -29,5 +29,3 @@ Xr128_LDADD = \
 	@KDRIVE_LIBS@                          \
 	@XSERVER_LIBS@					\
 	$(TSLIB_FLAG)
-
-Xr128_DEPENDENCIES = $(R128_LIBS) @KDRIVE_LIBS@
diff --git a/hw/kdrive/sdl/Makefile.am b/hw/kdrive/sdl/Makefile.am
index ba6ed4d..cc3873c 100644
--- a/hw/kdrive/sdl/Makefile.am
+++ b/hw/kdrive/sdl/Makefile.am
@@ -16,5 +16,3 @@ Xsdl_LDADD = @KDRIVE_PURE_LIBS@				\
 	@XSERVER_LIBS@					\
 	$(TSLIB_FLAG)					\
 	@XSDL_LIBS@
-
-Xsdl_DEPENDENCIES = @KDRIVE_LIBS@
diff --git a/hw/kdrive/sis300/Makefile.am b/hw/kdrive/sis300/Makefile.am
index efd1e9a..e7200a2 100644
--- a/hw/kdrive/sis300/Makefile.am
+++ b/hw/kdrive/sis300/Makefile.am
@@ -42,5 +42,3 @@ Xsis_LDADD = \
 	$(SIS_LIBS)				\
 	@KDRIVE_LIBS@                          \
 	$(TSLIB_FLAG)
-
-Xsis_DEPENDENCIES = $(SIS_LIBS) @KDRIVE_LIBS@
diff --git a/hw/kdrive/smi/Makefile.am b/hw/kdrive/smi/Makefile.am
index a214e76..8ce3eba 100644
--- a/hw/kdrive/smi/Makefile.am
+++ b/hw/kdrive/smi/Makefile.am
@@ -34,5 +34,3 @@ Xsmi_LDADD = \
 	@KDRIVE_LIBS@                          \
 	@XSERVER_LIBS@					\
 	$(TSLIB_FLAG)
-
-Xsmi_DEPENDENCIES = $(SMI_LIBS) @KDRIVE_LIBS@
diff --git a/hw/kdrive/vesa/Makefile.am b/hw/kdrive/vesa/Makefile.am
index 01bc0a3..8f36ddf 100644
--- a/hw/kdrive/vesa/Makefile.am
+++ b/hw/kdrive/vesa/Makefile.am
@@ -30,7 +30,3 @@ Xvesa_LDADD = \
 	@KDRIVE_LIBS@                          \
 	$(TSLIB_FLAG)				\
 	@XSERVER_LIBS@
-
-Xvesa_DEPENDENCIES = \
-	libvesa.a    \
-	@KDRIVE_LIBS@
diff --git a/hw/kdrive/via/Makefile.am b/hw/kdrive/via/Makefile.am
index 4d52df9..6e2045a 100644
--- a/hw/kdrive/via/Makefile.am
+++ b/hw/kdrive/via/Makefile.am
@@ -30,5 +30,3 @@ Xvia_LDADD =						\
 	@KDRIVE_LIBS@					\
 	@XSERVER_LIBS@					\
 	$(TSLIB_FLAG)					
-
-Xvia_DEPENDENCIES = $(VIA_LIBS) @KDRIVE_LIBS@
diff-tree 462bb61b0fe968fae1b99cf98ec6f7de09105dcd (from 12dbd8a02f797ad57a1be683a02a1fcb1ca35438)
Author: Aaron Plattner <aplattner at nvidia.com>
Date:   Tue Aug 8 18:07:22 2006 -0700

    Add CompositeRegisterAlternateVisuals.
    
    This provides drivers the ability to add their own alternate visuals and then
    register them with Composite for implicit redirection.

diff --git a/composite/compinit.c b/composite/compinit.c
index 5a13612..1d5cc7b 100644
--- a/composite/compinit.c
+++ b/composite/compinit.c
@@ -60,6 +60,8 @@ compCloseScreen (int index, ScreenPtr pS
     CompScreenPtr   cs = GetCompScreen (pScreen);
     Bool	    ret;
 
+    xfree (cs->alternateVisuals);
+
     pScreen->CloseScreen = cs->CloseScreen;
     pScreen->BlockHandler = cs->BlockHandler;
     pScreen->InstallColormap = cs->InstallColormap;
@@ -100,7 +102,7 @@ compInstallColormap (ColormapPtr pColorm
     CompScreenPtr   cs = GetCompScreen (pScreen);
     int		    a;
 
-    for (a = 0; a < NUM_COMP_ALTERNATE_VISUALS; a++)
+    for (a = 0; a < cs->numAlternateVisuals; a++)
 	if (pVisual->vid == cs->alternateVisuals[a])
 	    return;
     pScreen->InstallColormap = cs->InstallColormap;
@@ -170,6 +172,41 @@ compFindVisuallessDepth (ScreenPtr pScre
     return 0;
 }
 
+/*
+ * Add a list of visual IDs to the list of visuals to implicitly redirect.
+ */
+static Bool
+compRegisterAlternateVisuals (CompScreenPtr cs, VisualID *vids, int nVisuals)
+{
+    VisualID *p;
+
+    p = xrealloc(cs->alternateVisuals,
+		 sizeof(VisualID) * (cs->numAlternateVisuals + nVisuals));
+    if(p == NULL)
+	return FALSE;
+
+    memcpy(&p[cs->numAlternateVisuals], vids, sizeof(VisualID) * nVisuals);
+
+    cs->alternateVisuals = p;
+    cs->numAlternateVisuals += nVisuals;
+
+    return TRUE;
+}
+
+_X_EXPORT
+Bool CompositeRegisterAlternateVisuals (ScreenPtr pScreen, VisualID *vids,
+					int nVisuals)
+{
+    CompScreenPtr cs = GetCompScreen (pScreen);
+    return compRegisterAlternateVisuals(cs, vids, nVisuals);
+}
+
+#if COMP_INCLUDE_RGB24_VISUAL
+#define NUM_COMP_ALTERNATE_VISUALS 2
+#else
+#define NUM_COMP_ALTERNATE_VISUALS 1
+#endif
+
 typedef struct _alternateVisual {
     int		depth;
     CARD32	format;
@@ -197,8 +234,6 @@ compAddAlternateVisuals (ScreenPtr pScre
     int		    numAlternate = 0;
     int		    alt;
     
-    memset (cs->alternateVisuals, '\0', sizeof (cs->alternateVisuals));
-
     for (alt = 0; alt < NUM_COMP_ALTERNATE_VISUALS; alt++)
     {
 	DepthPtr	depth;
@@ -321,7 +356,7 @@ compAddAlternateVisuals (ScreenPtr pScre
 	/*
 	 * remember the visual ID to detect auto-update windows
 	 */
-	cs->alternateVisuals[alt] = visual->vid;
+	compRegisterAlternateVisuals(cs, &visual->vid, 1);
 	
 	/*
 	 * Fix up the depth
@@ -367,6 +402,9 @@ compScreenInit (ScreenPtr pScreen)
     cs->pOverlayWin = NULL;
     cs->pOverlayClients = NULL;
 
+    cs->numAlternateVisuals = 0;
+    cs->alternateVisuals = NULL;
+
     if (!compAddAlternateVisuals (pScreen, cs))
     {
 	xfree (cs);
diff --git a/composite/compint.h b/composite/compint.h
index 9395512..3958b3b 100644
--- a/composite/compint.h
+++ b/composite/compint.h
@@ -109,12 +109,6 @@ typedef struct _CompSubwindows {
 #define COMP_INCLUDE_RGB24_VISUAL 0
 #endif
 
-#if COMP_INCLUDE_RGB24_VISUAL
-#define NUM_COMP_ALTERNATE_VISUALS  2
-#else
-#define NUM_COMP_ALTERNATE_VISUALS  1
-#endif
-
 typedef struct _CompOverlayClientRec *CompOverlayClientPtr;
 
 typedef struct _CompOverlayClientRec {
@@ -154,7 +148,8 @@ typedef struct _CompScreen {
     ScreenBlockHandlerProcPtr	BlockHandler;
     CloseScreenProcPtr		CloseScreen;
     Bool			damaged;
-    XID				alternateVisuals[NUM_COMP_ALTERNATE_VISUALS];
+    int				numAlternateVisuals;
+    VisualID			*alternateVisuals;
 
     WindowPtr                   pOverlayWin;
     CompOverlayClientPtr        pOverlayClients;
@@ -225,6 +220,10 @@ CompositeExtensionInit (void);
  */
 
 Bool
+CompositeRegisterAlternateVisuals (ScreenPtr pScreen,
+				   VisualID *vids, int nVisuals);
+
+Bool
 compScreenInit (ScreenPtr pScreen);
 
 /*
diff --git a/composite/compwindow.c b/composite/compwindow.c
index 87055b7..2c86cdd 100644
--- a/composite/compwindow.c
+++ b/composite/compwindow.c
@@ -301,7 +301,7 @@ compIsAlternateVisual (ScreenPtr    pScr
     CompScreenPtr	cs = GetCompScreen (pScreen);
     int			i;
 
-    for (i = 0; i < NUM_COMP_ALTERNATE_VISUALS; i++)
+    for (i = 0; i < cs->numAlternateVisuals; i++)
 	if (cs->alternateVisuals[i] == visual)
 	    return TRUE;
     return FALSE;



More information about the xorg-commit mailing list