summaryrefslogtreecommitdiff
path: root/xserver/hw/xquartz
diff options
context:
space:
mode:
authorMatthieu Herrb <matthieu.herrb@laas.fr>2013-02-24 15:45:52 +0100
committerMatthieu Herrb <matthieu.herrb@laas.fr>2013-02-24 15:49:36 +0100
commit3c7d5a1f6c188eed12275ff6884a6d8fd1669ffd (patch)
tree5b72ec229f01b3cccf52935a3c9eb7998addced6 /xserver/hw/xquartz
parentbf92adb413c678cf9583c52c3ba70eb470aa5164 (diff)
Merge server-1.13.3rc1 branch from X.Org.
up to e604b19fc54fee839bbe2d66930b36108ff03950
Diffstat (limited to 'xserver/hw/xquartz')
-rw-r--r--xserver/hw/xquartz/GL/Makefile.in2
-rw-r--r--xserver/hw/xquartz/GL/capabilities.c4
-rw-r--r--xserver/hw/xquartz/Makefile.in2
-rw-r--r--xserver/hw/xquartz/bundle/Makefile.in2
-rw-r--r--xserver/hw/xquartz/darwin.c16
-rw-r--r--xserver/hw/xquartz/mach-startup/Makefile.in2
-rw-r--r--xserver/hw/xquartz/man/Makefile.in2
-rw-r--r--xserver/hw/xquartz/pbproxy/Makefile.in2
-rw-r--r--xserver/hw/xquartz/xpr/Makefile.in2
-rw-r--r--xserver/hw/xquartz/xpr/dri.c6
-rw-r--r--xserver/hw/xquartz/xpr/xprFrame.c28
-rw-r--r--xserver/hw/xquartz/xpr/xprScreen.c5
12 files changed, 59 insertions, 14 deletions
diff --git a/xserver/hw/xquartz/GL/Makefile.in b/xserver/hw/xquartz/GL/Makefile.in
index 0ab7ec630..08b6a590c 100644
--- a/xserver/hw/xquartz/GL/Makefile.in
+++ b/xserver/hw/xquartz/GL/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/xquartz/GL/capabilities.c b/xserver/hw/xquartz/GL/capabilities.c
index 4702595f4..5573629fd 100644
--- a/xserver/hw/xquartz/GL/capabilities.c
+++ b/xserver/hw/xquartz/GL/capabilities.c
@@ -20,6 +20,10 @@
* DEALINGS IN THE SOFTWARE.
*/
+#ifdef HAVE_DIX_CONFIG_H
+#include <dix-config.h>
+#endif
+
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
diff --git a/xserver/hw/xquartz/Makefile.in b/xserver/hw/xquartz/Makefile.in
index 2097f5038..7476c6420 100644
--- a/xserver/hw/xquartz/Makefile.in
+++ b/xserver/hw/xquartz/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/xquartz/bundle/Makefile.in b/xserver/hw/xquartz/bundle/Makefile.in
index fe108fbcb..4fb91a897 100644
--- a/xserver/hw/xquartz/bundle/Makefile.in
+++ b/xserver/hw/xquartz/bundle/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/xquartz/darwin.c b/xserver/hw/xquartz/darwin.c
index d26f18a12..b3a1fb37a 100644
--- a/xserver/hw/xquartz/darwin.c
+++ b/xserver/hw/xquartz/darwin.c
@@ -231,13 +231,15 @@ DarwinScreenInit(ScreenPtr pScreen, int argc, char **argv)
}
// TODO: Make PseudoColor visuals not suck in TrueColor mode
- // if(dfb->depth > 8)
- // miSetVisualTypesAndMasks(8, PseudoColorMask, 8, PseudoColor, 0, 0, 0);
- if (dfb->depth > 15)
- miSetVisualTypesAndMasks(15, TrueColorMask, 5, TrueColor,
- RM_ARGB(0, 5, 5, 5), GM_ARGB(0, 5, 5,
- 5),
- BM_ARGB(0, 5, 5, 5));
+ // if(dfb->depth > 8)
+ // miSetVisualTypesAndMasks(8, PseudoColorMask, 8, PseudoColor, 0, 0, 0);
+ //
+ // TODO: Re-add support for 15bit
+ // if (dfb->depth > 15)
+ // miSetVisualTypesAndMasks(15, TrueColorMask, 5, TrueColor,
+ // RM_ARGB(0, 5, 5, 5), GM_ARGB(0, 5, 5,
+ // 5),
+ // BM_ARGB(0, 5, 5, 5));
if (dfb->depth > 24)
miSetVisualTypesAndMasks(24, TrueColorMask, 8, TrueColor,
RM_ARGB(0, 8, 8, 8), GM_ARGB(0, 8, 8,
diff --git a/xserver/hw/xquartz/mach-startup/Makefile.in b/xserver/hw/xquartz/mach-startup/Makefile.in
index 9d2897bd4..bc87e8768 100644
--- a/xserver/hw/xquartz/mach-startup/Makefile.in
+++ b/xserver/hw/xquartz/mach-startup/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/xquartz/man/Makefile.in b/xserver/hw/xquartz/man/Makefile.in
index e373879a9..caef8929a 100644
--- a/xserver/hw/xquartz/man/Makefile.in
+++ b/xserver/hw/xquartz/man/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/xquartz/pbproxy/Makefile.in b/xserver/hw/xquartz/pbproxy/Makefile.in
index b44311343..470ec38ea 100644
--- a/xserver/hw/xquartz/pbproxy/Makefile.in
+++ b/xserver/hw/xquartz/pbproxy/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/xquartz/xpr/Makefile.in b/xserver/hw/xquartz/xpr/Makefile.in
index 7dfbc5a4e..8833f197f 100644
--- a/xserver/hw/xquartz/xpr/Makefile.in
+++ b/xserver/hw/xquartz/xpr/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/hw/xquartz/xpr/dri.c b/xserver/hw/xquartz/xpr/dri.c
index 03af163f7..adba69cca 100644
--- a/xserver/hw/xquartz/xpr/dri.c
+++ b/xserver/hw/xquartz/xpr/dri.c
@@ -64,6 +64,7 @@
#include "mi.h"
#include "mipointer.h"
#include "rootless.h"
+#include "rootlessCommon.h"
#include "x-hash.h"
#include "x-hook.h"
#include "driWrap.h"
@@ -380,6 +381,11 @@ DRICreateSurface(ScreenPtr pScreen, Drawable id,
DRIDrawablePrivPtr pDRIDrawablePriv;
if (pDrawable->type == DRAWABLE_WINDOW) {
+ /* <rdar://problem/12338921>
+ * http://bugs.winehq.org/show_bug.cgi?id=31751
+ */
+ RootlessStopDrawing((WindowPtr)pDrawable, FALSE);
+
pDRIDrawablePriv = CreateSurfaceForWindow(pScreen,
(WindowPtr)pDrawable, &wid);
diff --git a/xserver/hw/xquartz/xpr/xprFrame.c b/xserver/hw/xquartz/xpr/xprFrame.c
index 01f1def20..aad375b52 100644
--- a/xserver/hw/xquartz/xpr/xprFrame.c
+++ b/xserver/hw/xquartz/xpr/xprFrame.c
@@ -49,6 +49,10 @@
#include <pthread.h>
#endif
+#ifdef DEBUG_XP_LOCK_WINDOW
+#include <execinfo.h>
+#endif
+
#define DEFINE_ATOM_HELPER(func, atom_name) \
static Atom func(void) { \
static int generation; \
@@ -376,6 +380,18 @@ xprStartDrawing(RootlessFrameID wid, char **pixelData, int *bytesPerRow)
unsigned int rowbytes[2];
xp_error err;
+#ifdef DEBUG_XP_LOCK_WINDOW
+ void* callstack[128];
+ int i, frames = backtrace(callstack, 128);
+ char** strs = backtrace_symbols(callstack, frames);
+
+ ErrorF("=== LOCK %d ===\n", (int)x_cvt_vptr_to_uint(wid));
+ for (i = 0; i < frames; ++i) {
+ ErrorF(" %s\n", strs[i]);
+ }
+ free(strs);
+#endif
+
err = xp_lock_window(x_cvt_vptr_to_uint(
wid), NULL, NULL, data, rowbytes, NULL);
if (err != Success)
@@ -395,6 +411,18 @@ xprStopDrawing(RootlessFrameID wid, Bool flush)
{
xp_error err;
+#ifdef DEBUG_XP_LOCK_WINDOW
+ void* callstack[128];
+ int i, frames = backtrace(callstack, 128);
+ char** strs = backtrace_symbols(callstack, frames);
+
+ ErrorF("=== UNLOCK %d ===\n", (int)x_cvt_vptr_to_uint(wid));
+ for (i = 0; i < frames; ++i) {
+ ErrorF(" %s\n", strs[i]);
+ }
+ free(strs);
+#endif
+
err = xp_unlock_window(x_cvt_vptr_to_uint(wid), flush);
/* This should be a FatalError, but we started tripping over it. Make it a
* FatalError after http://xquartz.macosforge.org/trac/ticket/482 is fixed.
diff --git a/xserver/hw/xquartz/xpr/xprScreen.c b/xserver/hw/xquartz/xpr/xprScreen.c
index efe2aa882..e37601995 100644
--- a/xserver/hw/xquartz/xpr/xprScreen.c
+++ b/xserver/hw/xquartz/xpr/xprScreen.c
@@ -359,6 +359,10 @@ have_depth:
dfb->blueMask = 0;
break;
+#if 0
+ // Removed because Mountain Lion removed support for
+ // 15bit backing stores. We can possibly re-add
+ // this once libXplugin is updated to work around it.
case 15:
dfb->visuals = TrueColorMask; //LARGE_VISUALS;
dfb->preferredCVC = TrueColor;
@@ -369,6 +373,7 @@ have_depth:
dfb->greenMask = GM_ARGB(0, 5, 5, 5);
dfb->blueMask = BM_ARGB(0, 5, 5, 5);
break;
+#endif
// case 24:
default: