summaryrefslogtreecommitdiff
path: root/mi
diff options
context:
space:
mode:
authorKevin E Martin <kem@kem.org>2004-06-30 20:06:56 +0000
committerKevin E Martin <kem@kem.org>2004-06-30 20:06:56 +0000
commit7976ee51afcad41b611e642d2feb31d805dedcf6 (patch)
tree218e5c900399e880dd01458154896d011a2ff238 /mi
parentd5db59bd79f5d8788b99056bf9d969b5b3ad99e1 (diff)
Add Distributed Multihead X (DMX) support
Diffstat (limited to 'mi')
-rw-r--r--mi/micmap.c20
-rw-r--r--mi/miinitext.c16
2 files changed, 34 insertions, 2 deletions
diff --git a/mi/micmap.c b/mi/micmap.c
index 018244a2a..45f8e1ed6 100644
--- a/mi/micmap.c
+++ b/mi/micmap.c
@@ -530,6 +530,7 @@ miDoInitVisuals(VisualPtr *visualp, DepthPtr *depthp, int *nvisualp,
int vtype;
miVisualsPtr visuals, nextVisuals;
int *preferredCVCs, *prefp;
+ int first_depth;
/* none specified, we'll guess from pixmap formats */
if (!miVisuals)
@@ -627,7 +628,24 @@ miDoInitVisuals(VisualPtr *visualp, DepthPtr *depthp, int *nvisualp,
miVisuals = NULL;
visual = *visualp;
depth = *depthp;
- for (i = 0; i < ndepth; i++)
+
+ /*
+ * if we did not supplyied by a preferred visual class
+ * check if there is a preferred class in one of the depth
+ * structures - if there is, we want to start looking for the
+ * default visual/depth from that depth.
+ */
+ first_depth = 0;
+ if (preferredVis < 0 && defaultColorVisualClass < 0 ) {
+ for (i = 0; i < ndepth; i++) {
+ if (preferredCVCs[i] >= 0) {
+ first_depth = i;
+ break;
+ }
+ }
+ }
+
+ for (i = first_depth; i < ndepth; i++)
{
int prefColorVisualClass = -1;
diff --git a/mi/miinitext.c b/mi/miinitext.c
index 5b242498f..1738be73a 100644
--- a/mi/miinitext.c
+++ b/mi/miinitext.c
@@ -1,4 +1,4 @@
-/* $XdotOrg: xc/programs/Xserver/mi/miinitext.c,v 1.2 2004/04/23 19:54:26 eich Exp $ */
+/* $XdotOrg: xc/programs/Xserver/mi/miinitext.c,v 1.3 2004/04/26 11:07:03 gisburn Exp $ */
/* $XFree86: xc/programs/Xserver/mi/miinitext.c,v 3.67 2003/01/12 02:44:27 dawes Exp $ */
/***********************************************************
@@ -93,6 +93,10 @@ extern Bool noTestExtensions;
extern Bool noXkbExtension;
#endif
+#ifdef DMXSERVER
+extern Bool dmxNoRender;
+#endif
+
#ifndef XFree86LOADER
#define INITARGS void
typedef void (*InitExtension)(INITARGS);
@@ -261,6 +265,9 @@ extern void RRExtensionInit(INITARGS);
#ifdef RES
extern void ResExtensionInit(INITARGS);
#endif
+#ifdef DMXEXT
+extern void DMXExtensionInit(INITARGS);
+#endif
#ifndef XFree86LOADER
@@ -390,6 +397,9 @@ InitExtensions(argc, argv)
#endif
#endif
#ifdef RENDER
+#ifdef DMXSERVER
+ if (!dmxNoRender)
+#endif
RenderExtensionInit();
#endif
#ifdef RANDR
@@ -398,6 +408,9 @@ InitExtensions(argc, argv)
#ifdef RES
ResExtensionInit();
#endif
+#ifdef DMXEXT
+ DMXExtensionInit();
+#endif
}
void
@@ -468,6 +481,7 @@ ExtensionModule extension[] =
{ NULL, "RENDER", NULL, NULL },
{ NULL, "RANDR", NULL, NULL },
{ NULL, "X-Resource", NULL, NULL },
+ { NULL, "DMX", NULL, NULL },
{ NULL, NULL, NULL, NULL }
};
#endif