summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Anholt <anholt@freebsd.org>2005-11-18 23:34:04 +0000
committerEric Anholt <anholt@freebsd.org>2005-11-18 23:34:04 +0000
commit627ac1fe1dbcbc070575da7bee9e686a7dce5262 (patch)
treec5a90cf1a0b97e071e095636f47b245417cd28d5
parente3ec048ff2fe0ee0862472e9b147b7ce488ea898 (diff)
Bug #5060: Fix non-Linux DRI on 64 bit post Linux 32/64 changes.
-rw-r--r--hw/xfree86/dri/xf86dri.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/hw/xfree86/dri/xf86dri.c b/hw/xfree86/dri/xf86dri.c
index 7f4d2835b..273ccda1b 100644
--- a/hw/xfree86/dri/xf86dri.c
+++ b/hw/xfree86/dri/xf86dri.c
@@ -212,7 +212,11 @@ ProcXF86DRIOpenConnection(
((rep.busIdStringLength + 3) & ~3)) >> 2;
rep.hSAREALow = (CARD32)(hSAREA & 0xffffffff);
+#if defined(LONG64) && !defined(__linux__)
+ rep.hSAREAHigh = (CARD32)(hSAREA >> 32);
+#else
rep.hSAREAHigh = 0;
+#endif
WriteToClient(client, sizeof(xXF86DRIOpenConnectionReply), (char *)&rep);
if (rep.busIdStringLength)
@@ -546,7 +550,11 @@ ProcXF86DRIGetDeviceInfo(
}
rep.hFrameBufferLow = (CARD32)(hFrameBuffer & 0xffffffff);
+#if defined(LONG64) && !defined(__linux__)
+ rep.hFrameBufferHigh = (CARD32)(hFrameBuffer >> 32);
+#else
rep.hFrameBufferHigh = 0;
+#endif
rep.length = 0;
if (rep.devPrivateSize) {