Commit Graph

159 Commits

Author SHA1 Message Date
George Staplin
95052caa2c XQuartz: Add support for GLXPixmaps to the AppleDRI.
This involved wrapping some GCOps to get the proper behavior
when using X11 raster ops mixed with OpenGL (see driWrap.c).

This extends the AppleDRI protocol with create and destroy pixmap
functions.

The dri.c code has been extended quite a bit to enable this, and
to initialize the wrapping of CreateGC for GCOps.

This has been tested with tests/glxpixmap and proven to work with
the new libGL.  Existing applications seem to work fine too. Redraws
all appear to be correct.

There may be some bugs lurking that I haven't found yet.  I plan
to drive them out by extending the libGL test suite.
(cherry picked from commit 630518766b)
2009-02-16 21:42:45 -08:00
George Staplin
d229ba7068 XQuartz: xpr: The dri.c code for pixmaps was wrong in several ways. They weren't
being exported correctly by Xplugin.

This should fix a bug with the surface for a window, when an export fails.
Before the export could fail and leave behind an invalid (freed) pointer in the dix privates.

I have an idea of how to fix the GLXPixmaps now without using CGLSetOffScreen.

This work is a step towards that.  The Xplugin will need a small patch to fix an
issue that this change brought forth.
(cherry picked from commit 58c4116c47)
2009-02-12 15:47:13 -08:00
George Staplin
5c41b3f9c8 XQuartz: xpr: Cleanup some of the code and possibly fix part of the GLX Pixmap problem.
Split DRICreateSurface into 3 functions.

Make CreateSurfaceForPixmap use xp_configure_surface.  I suspect this is partly why
GLXPixmaps never worked.

It will require some more work and thoughts for pbuffers, unless we fake those with
pixmaps and surfaces.
(cherry picked from commit 9cf264e677)
2009-01-15 21:05:00 -08:00
Jeremy Huddleston
1beff89810 XQuartz: misc 1.6 updates (still --disable-glx)
rlAccel is not longer compatable, and it's not worth fixing
  Don't override DeviceCursorInitialize with a noop
  Don't do a SwitchCoreKeyboard (which wasn't even needed in the first place)
(cherry picked from commit c137f68168)
2009-01-11 01:55:26 -08:00
Jeremy Huddleston
a68373994f XQuartz: Update padding in appledristr. This shouldn't change how the struct ends up in memory, but should make it more obvious for human eyes
(cherry picked from commit f7b6c1907c)
2009-01-10 00:59:16 -08:00
Jeremy Huddleston
895186e026 XQuartz: Re-enable rlAccel
It was incorrectly blamed for some crashes a few months ago, and it should be
safe to use until we get an EXA driver to replace it.
(cherry picked from commit 8121f30bd2)
2008-12-28 22:17:03 -08:00
Jeremy Huddleston
a1b201bcb0 XQuartz: Use depth=24 instead of FatalError if we can't figure out our depth
(cherry picked from commit 80b65c5b78)
2008-12-23 12:45:57 -08:00
Peter Hutterer
cb95642dc8 Remove #define NEED_EVENTS and NEED_REPLIES
A grep on xorg/* revealed there's no consumer of this define.

Quote Alan Coopersmith:
"The consumer was in past versions of the headers now located
in proto/x11proto - for instance, in X11R6.0's xc/include/Xproto.h,
all the event definitions were only available if NEED_EVENTS were
defined, and all the reply definitions required NEED_REPLIES.

Looks like Xproto.h dropped them by X11R6.3, which didn't have
the #ifdef's anymore, so these are truly ancient now."

Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
Signed-off-by: Adam Jackson <ajax@redhat.com>
2008-12-12 11:43:32 +10:00
Jeremy Huddleston
23156a21d8 XQuartz: Make debugging output for invalid depths a bit more detailed
(cherry picked from commit 609fb166b7)
2008-12-10 15:08:05 -08:00
Jeremy Huddleston
09c3f6e04c XQuartz: Dead code removal
(cherry picked from commit 46c077d9b4)
2008-11-25 00:54:22 -08:00
Jeremy Huddleston
8964b8d0ec XQuartz: More 1.6 server API updates 2008-11-22 14:23:23 -08:00
Ben Byer
aedafbea0e fix compilation on systems that don't have
XP_EVENT_SPACE_CHANGED defined
(cherry picked from commit 6e833e41e2)
2008-11-14 15:11:42 -08:00
Jeremy Huddleston
c5086badf0 XQuartz: LP64 related casting fixes from Bob Murphy
(cherry picked from commit ea71710aaa)
2008-10-31 19:03:38 -07:00
Jeremy Huddleston
ecd55bc859 XQuartz: displayScreenBounds uses quartzEnableRootless rather than !quartzHasRoot
(cherry picked from commit c883a78ef0)
2008-10-31 15:50:06 -07:00
Jeremy Huddleston
93298c7f8f XQuartz: Don't map the menu bar to the screen area.
(cherry picked from commit 1115917ada)
2008-10-31 15:49:44 -07:00
Jeremy Huddleston
4d978af5c7 XQuartz: Fixed window levels.
(cherry picked from commit ef4d37c73f)
2008-10-21 09:31:56 -07:00
Jeremy Huddleston
af0d5e2ef7 XQuartz: 64bit crash fix ... don't pass pointers through xe.
(cherry picked from commit 5f1265b82e)
2008-09-21 17:40:42 -07:00
Jeremy Huddleston
6548a55ebd XQuartz: 256 color support
(cherry picked from commit 8dd6d5c825)
2008-09-12 15:26:13 -07:00
Jeremy Huddleston
bad7cd14c2 XQuartz: Dead code removal
(cherry picked from commit bf10fb0b1f)
2008-09-12 15:26:07 -07:00
Jeremy Huddleston
183233b27b XQuartz: Don't warp the pointer on server start for XQuartz
(cherry picked from commit c0da576d49)
2008-09-12 15:25:44 -07:00
Tomas Carnecky
ebea78cdba Prepare for array-index based devPrivates.
TODO: static indices can be made just an int; some indices
can be combined.
2008-08-28 18:05:40 -04:00
Jeremy Huddleston
315f089056 XQuartz: Reorganized some of the build system in prep for the Mach IPC startup work.
(cherry picked from commit 2232c91d5c)
2008-05-08 19:58:24 -07:00
Jeremy Huddleston
7295e54433 XQuartz: Move server bits into bundle and setup stub in /usr/X11/bin/Xquartz in prep for startup rewrite
(cherry picked from commit 453a982e63)
2008-05-06 02:49:48 -07:00
Jeremy Huddleston
a338007be6 XQuartz: Adjust the screen origin offset properly for multimonitor setups
(cherry picked from commit f2020b9836)
2008-05-01 18:04:18 -07:00
Jeremy Huddleston
0c2312b21b XQuartz: xprIsX11Window can be called from the Appkit thread (see X11Application.m)
(cherry picked from commit 22cf724376)
2008-04-28 15:42:12 -07:00
Jeremy Huddleston
07382a70c7 XQuartz: Added thread debugging to xprFrame.c
(cherry picked from commit 41542502b3)
2008-04-28 15:40:22 -07:00
Jeremy Huddleston
4017ebe5bf XQuartz: Added missing Xquartz.man.pre to EXTRA_DIST
(cherry picked from commit 03e707987f)
2008-04-28 11:49:16 -07:00
Jeremy Huddleston
0209e46249 XQuartz: More multi-monitor work... reverted Ben's workaround (worked for side-by-side only) and added more debugging.
(cherry picked from commit 515b8b855a)
2008-04-24 23:50:23 -07:00
Jeremy Huddleston
b65dbd350b XQuartz: Cleaned up multi-monitor support.
(cherry picked from commit c05abf0a19)
(cherry picked from commit 9112f29043)
2008-04-24 23:50:21 -07:00
Jeremy Huddleston
b05b416c62 XQuartz: No need to include indirect.c a second time
(cherry picked from commit 41ed532525)
2008-04-23 10:17:13 -07:00
Ben Byer
4e3a8af575 xquartz: clean up linker line for main binary
(cherry picked from commit 821d7400f2)
2008-04-23 10:16:55 -07:00
Ben Byer
570b0dca26 Fix for pointer-offset issue when using a multi-display environment on X11.app.
(cherry picked from commit 9a7e14286c)
2008-04-21 17:55:19 -07:00
Jeremy Huddleston
14396fdeba XQuartz: Cleanup turning off COMPOSITE
(cherry picked from commit 8f920fca6f)
2008-04-20 01:24:54 -07:00
Jeremy Huddleston
5183fea6d3 XQuartz: Handled sanitization of namespace better
(cherry picked from commit 8cb23d6721)
2008-04-18 20:07:55 -07:00
Jeremy Huddleston
c14f5dc237 XQuartz: Forgot to commit xprEvent.[hc] ...
(cherry picked from commit 70e543baf2)
2008-04-17 20:31:24 -07:00
Jeremy Huddleston
652479dba3 XQuartz: Moved some rootless-specific cruft into xpr
(cherry picked from commit 31625cc03b)
2008-04-17 15:50:11 -07:00
Jeremy Huddleston
8716d081fd XQuartz: Don't enable rootless accelerated functionality... crashy...
(cherry picked from commit cdb4c291d8)
2008-04-16 23:14:06 -07:00
Jeremy Huddleston
2ffdb0eb64 XQuartz: Don't use composite.
(cherry picked from commit 6d3d344b5b)
2008-04-16 21:54:00 -07:00
Jeremy Huddleston
757a1bf3a3 Xquartz: Don't need to link against rlAccel since we don't use it
(cherry picked from commit 180ec128ad)
2008-04-16 21:53:03 -07:00
Jeremy Huddleston
9e7ced94a5 XQuartz: Removed a call to RootlessReorderWindow from the Carbon thread
(cherry picked from commit cb27d5ca82)
2008-04-15 12:06:07 -07:00
Jeremy Huddleston
2e42b67b82 XQuartz: Change reporting of space change to debug log rather than stderr
(cherry picked from commit ed15556a9f)
2008-04-02 18:05:55 -07:00
Ben Byer
e9e2d88436 moved and renamed QuartzMessageServerThread to
DarwinSendDDXEvent to make more clear what it actually does.
(cherry picked from commit bee2b377ef)
2008-04-02 17:48:01 -07:00
Ben Byer
985c631b2e just a bit of juggling headers around -- we're preparing
to call our Xquartz-specific event handlers directly
as mieqHandlers
(cherry picked from commit 4aedba5aa7)
2008-04-02 17:47:57 -07:00
Ben Byer
6c5962e447 remove vestigal DarwinEQPointerPost etc
(cherry picked from commit a25704c423)
2008-04-02 17:45:28 -07:00
Jeremy Huddleston
b8ea9f2a25 XQuartz: Fixed names of enums to be more consistent
(cherry picked from commit c309a08806daf5d716a860c709e51eacad2c745a)
2008-03-28 17:03:20 -07:00
Jeremy Huddleston
c49e112683 XQuartz: Initial framework for dealing with spaces on OS-X
(cherry picked from commit 9831324998)
2008-03-21 19:37:42 -07:00
Jeremy Huddleston
4c76607b69 Rootless: Removed safeAlphaXXXX() in favor of using fb/pixman
(cherry picked from commit f03202ad15)
2008-03-21 19:33:21 -07:00
Eamon Walsh
ef60632e20 dix: Modify callers of property and selection API to use new interfaces. 2008-02-29 18:01:37 -05:00
Jeremy Huddleston
7d226d6a25 XQuartz: Cleanup for strict-prototyping
Also fixed DarwinEQEnqueue to match changes to the callback
And also use dpmsstubs.c rather than copying the code into darwin.c
(cherry picked from commit 4c5c30a4be)
2008-01-05 03:17:27 -08:00
Jeremy Huddleston
aca75f389e XQuartz: Flush the debug log for easier debugging
Also cleaned up formatting in xpr's eventHandler
(cherry picked from commit 16861d6d42)
2008-01-04 23:10:10 -08:00
Jeremy Huddleston
e46d559739 XQuartz: Cleaned up color map configuration.
8 bit color still doesn't work, but the -depth command line argument now works properly.
(cherry picked from commit 6765949c27)
2008-01-03 13:25:56 -08:00
Jeremy Huddleston
42802a8e6b Xquartz: General Cleanup
General code cleanup, whitespace, dead code removal, added missing prototypes.
Made Xquartz come to foreground later in startup, so it doesn't appear for Xquartz -version
(cherry picked from commit 36922e8ff4)
2007-12-20 13:18:17 -08:00
Eamon Walsh
c8feb73f58 Merge branch 'master' into XACE-SELINUX
Conflicts:

	Xext/EVI.c
	Xext/bigreq.c
	Xext/cup.c
	Xext/dpms.c
	Xext/fontcache.c
	Xext/mitmisc.c
	Xext/xcmisc.c
	Xext/xf86bigfont.c
	Xext/xtest.c
	configure.ac
	dbe/dbe.c
	hw/darwin/darwin.h
	hw/darwin/darwinEvents.c
	hw/darwin/iokit/xfIOKit.h
	hw/darwin/iokit/xfIOKitCursor.c
	hw/darwin/quartz/fullscreen/fullscreen.c
	hw/darwin/quartz/fullscreen/quartzCursor.c
	hw/darwin/quartz/quartz.c
	hw/darwin/quartz/quartzCommon.h
	hw/darwin/quartz/quartzCursor.c
	hw/darwin/quartz/xpr/dri.c
	hw/darwin/quartz/xpr/dristruct.h
	hw/darwin/quartz/xpr/xprCursor.c
	hw/darwin/quartz/xpr/xprFrame.c
	hw/xfree86/modes/xf86RandR12.c
	include/cursor.h
	miext/rootless/rootlessCommon.h
	miext/rootless/rootlessScreen.c
	miext/rootless/rootlessWindow.c
	render/picturestr.h

Trying to pick up the pieces from the darwin churn here...
2007-12-13 18:38:25 -05:00
Jeremy Huddleston
eab0c4e490 Xquartz: Pre-process Xquartz man page
(cherry picked from commit dec2633c41)
2007-12-10 21:03:37 -08:00
Jeremy Huddleston
7d61893b49 Xquartz: Removed Xplugin.h from EXTRA_DIST
(cherry picked from commit a746383eca)
2007-12-10 20:34:40 -08:00
Ben Byer
8f2eff643b remove Xplugin.h, because we should use the one in /usr/include
(cherry picked from commit 3e881032f3)
2007-12-09 12:03:22 -08:00
Jeremy Huddleston
7b573ed436 Xquartz: Added missing link to libconfig.a
(cherry picked from commit 14ec1cf1cb)
2007-12-09 12:02:15 -08:00
Jeremy Huddleston
8a8239f2e2 Darwin: Renamed DarwinModeBlah to QuartzBlah
(cherry picked from commit 08ebf86d37)
2007-12-05 21:26:16 -08:00
Jeremy Huddleston
bc65a24393 Darwin: Flattened quartz into darwin, renamed darwin xquartz
Leaving xpr unflattened since we want modularity to replace that with xpc (XPluginComposite) at some point
(cherry picked from commit 48e6a75fbd)
2007-12-05 20:32:40 -08:00