Keith Packard [Fri, 4 Oct 2013 23:44:46 +0000 (16:44 -0700)]
Bump version to 1.14.99.2
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Fri, 4 Oct 2013 23:43:41 +0000 (16:43 -0700)]
kdrive/ephyr: Remove duplicate ephyrExtensions and ephyrExtensionInit decls
These were duplicated when GLX support was re-added on two different branches.
Signed-off-by: Keith Packard <keithp@keithp.com>
Gaetan Nadon [Sat, 28 Sep 2013 19:26:38 +0000 (15:26 -0400)]
xfree86: add a comment as to why the logdir is created
Without the logdir, the xserver will write the content of the log file on the
terminal stating that it cannot be written and will stop.
Refer to https://bugs.freedesktop.org/show_bug.cgi?id=3889
Reviewed-By: Matt Dew <marcoz@osource.org>
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
Signed-off-by: Keith Packard <keithp@keithp.com>
Gaetan Nadon [Sat, 28 Sep 2013 19:26:37 +0000 (15:26 -0400)]
xfree86: Use $(MKDIR_P) for better code portability
Still true that we should not use the lower case $(mkdir_p) version.
However, remove the 2005 comment as the MKDIR_P is widely used now.
Reviewed-By: Matt Dew <marcoz@osource.org>
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
Signed-off-by: Keith Packard <keithp@keithp.com>
Gaetan Nadon [Sat, 28 Sep 2013 19:26:36 +0000 (15:26 -0400)]
Uninstall X link and CYGWIN libXorg.exe.a in local install targets
It is our duty to uninstall any files and/or directories that we installed
through install-data-local and install-exec-hook.
Currently the X symbolic link to Xorg remains on disk after running
make uninstall.
Note the exception for logdir which is usually shared by other modules.
Reviewed-By: Matt Dew <marcoz@osource.org>
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
Signed-off-by: Keith Packard <keithp@keithp.com>
Gaetan Nadon [Sat, 28 Sep 2013 19:26:35 +0000 (15:26 -0400)]
Xorg binary: use install-exec-hook rather than install-exec-local
The former was explicitly designed to execute additional code after the binary
has been installed. The latter can be executed in any order, hence it's
current dependency on install-binPROGRAMS as a workaround.
The CYGWIN libXorg.exe.a target is an installation target rather than
a post-installation one, so it should not be done as a hook. It does not depend
on the Xorg executable being installed.
Automake:
"These hooks are run after all other install rules of the appropriate type,
exec or data, have completed. So, for instance, it is possible to perform
post-installation modifications using an install hook".
"With the -local targets, there is no particular guarantee of execution order;
typically, they are run early, but with parallel make, there is no way
to be sure of that".
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
Signed-off-by: Keith Packard <keithp@keithp.com>
Gaetan Nadon [Sat, 28 Sep 2013 19:26:34 +0000 (15:26 -0400)]
Use $(LN_S) provided by AC_PROG_LN_S macro to create links
For better code portability.
Reviewed-By: Matt Dew <marcoz@osource.org>
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
Signed-off-by: Keith Packard <keithp@keithp.com>
Gaetan Nadon [Sat, 28 Sep 2013 19:26:33 +0000 (15:26 -0400)]
The Xorg binary is missing the extension $(EXEEXT) in the makefile
This is not a problem on UNIX platforms, but on CYGWIN it creates a broken
link to Xorg rather than a link to Xorg.exe.
From the CYGWIN log on tinderbox, we can see that the executable Xorg.exe is
installed correctly. We can see the command used to create the link:
(cd /jhbuild/install/[...]/install/bin && rm -f X && ln -s Xorg X)
Note that the "relink" makefile target correctly appends $(EXEEXT) to Xorg.
Reviewed-By: Matt Dew <marcoz@osource.org>
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Fri, 4 Oct 2013 21:04:48 +0000 (14:04 -0700)]
Merge remote-tracking branch 'anholt/ephyr-fixes'
Gaetan Nadon [Mon, 30 Sep 2013 17:30:46 +0000 (13:30 -0400)]
miext/shadow: missing c2p_core.h breaks "make distcheck" target.
Reviewed-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Fri, 4 Oct 2013 20:54:55 +0000 (13:54 -0700)]
Merge remote-tracking branch 'whot/for-keith'
Keith Packard [Fri, 4 Oct 2013 20:50:04 +0000 (13:50 -0700)]
Merge remote-tracking branch 'ajax/xserver-next'
Gaetan Nadon [Thu, 19 Sep 2013 23:13:35 +0000 (19:13 -0400)]
test: add new os executable to .gitignore
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Laércio de Sousa [Wed, 18 Sep 2013 16:42:17 +0000 (13:42 -0300)]
xserver: enable InputClass option "GrabDevice" by default for non-seat0 seats (#69478)
This patch contributes to fill the remaining gaps which make
systemd-multi-seat-x wrapper still necessary in some multiseat setups.
This also replaces previous evdev patch that does the same thing
for that particular driver.
When option "-seat" is passed with an argument different from "seat0",
option "GrabDevice" for input devices is enabled by default
(no need of enabling it in xorg.conf's "InputClass" section).
Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=69478
Signed-off-by: Laércio de Sousa <lbsousajr@gmail.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 18 Sep 2013 06:04:44 +0000 (16:04 +1000)]
dmx: provide enough space for axis mappings
relmap/absmap is used as a evdev-axis-to-x-axis mapping. ABS_X maps to
axis 0, ABS_Y to 1, etc. skipping over non-existing axes so that the third bit
set in the ABS_* range is axis 2, and so on. This requires us to actually have
enough space to have all the ABS_*/REL_* range.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Keith Packard [Fri, 20 Sep 2013 19:43:41 +0000 (14:43 -0500)]
damage: Must translate initial window damage by window offset
Damage is reported relative to the drawable origin, but the window
borderClip is absolute. Translate the region by the window position
before reporting damage to adjust.
Reported-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Jeremy Huddleston Sequoia [Sun, 15 Sep 2013 15:10:33 +0000 (08:10 -0700)]
XQuartz: pbproxy: Fix build with -DDEBUG
Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
Jeremy Huddleston Sequoia [Sun, 15 Sep 2013 15:07:44 +0000 (08:07 -0700)]
XQuartz: Fix build with moved pseudoramiX
Regression from:
e716baedc4d8e52a60f43ef21aba771b340d8c8b
Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
Reviewed-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Adam Jackson [Tue, 9 Jul 2013 15:19:11 +0000 (11:19 -0400)]
glx: Fill in some missing attributes from DoGetFBConfigs
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Adam Jackson [Thu, 4 Jul 2013 14:31:40 +0000 (10:31 -0400)]
glx: Remove a dead comment
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Adam Jackson [Mon, 8 Jul 2013 21:01:13 +0000 (17:01 -0400)]
glx: Catch another failure case in drawable creation
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Adam Jackson [Mon, 8 Jul 2013 16:28:56 +0000 (12:28 -0400)]
glx: Remove screen number from __GLXconfig
Not used. There's no real reason to match against this instead of
matching against fbconfig or visual ID anyway.
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Adam Jackson [Mon, 8 Jul 2013 16:09:13 +0000 (12:09 -0400)]
glx: Remove pixmapMode from __GLXconfig
This has never been filled in with anything meaningful afaict, and you
can't get to it from the client in any event.
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Adam Jackson [Tue, 2 Jul 2013 16:33:36 +0000 (12:33 -0400)]
glx: Remove support for NV_vertex_program and NV_fragment_program
Mesa doesn't implement these anymore, never really did outside of swrast
anyway.
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Adam Jackson [Tue, 2 Jul 2013 14:35:19 +0000 (10:35 -0400)]
glx: realloc style fix in RenderLarge
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Adam Jackson [Tue, 2 Jul 2013 14:30:40 +0000 (10:30 -0400)]
glx: Eliminate a small malloc from QueryContext
No reason to have that be a failure path.
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Adam Jackson [Fri, 9 Nov 2012 23:05:27 +0000 (18:05 -0500)]
glx: Handle failure to create the pixmap backing the pbuffer
We happen not to sanitize the width/height we pass to CreatePixmap here,
oops. It's not exploitable, but it's certainly a crash, so let's just
throw BadAlloc instead.
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Adam Jackson [Fri, 9 Nov 2012 22:52:12 +0000 (17:52 -0500)]
glx: Implement GLX_PRESERVED_CONTENTS drawable attribute
We back pixmaps with pbuffers so they're never actually clobbered. Say
so when asked.
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Adam Jackson [Fri, 9 Nov 2012 22:12:49 +0000 (17:12 -0500)]
glx: Implement GLX_FBCONFIG_ID in GetDrawableAttributes
Required by GLX 1.4, section 3.3.6, "Querying Attributes".
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Adam Jackson [Fri, 9 Nov 2012 22:10:57 +0000 (17:10 -0500)]
glx: Implement GLX_{WIDTH,HEIGHT} in GetDrawableAttributes
Required by GLX 1.4, section 3.3.6, "Querying Attributes".
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Adam Jackson [Fri, 9 Nov 2012 22:07:20 +0000 (17:07 -0500)]
glx: Compute number of attributes in GetDrawableAttributes on the fly
This doesn't have any effect yet, but is needed to properly build the
reply for pbuffers.
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Adam Jackson [Fri, 9 Nov 2012 21:48:16 +0000 (16:48 -0500)]
glx: Style fixes
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Adam Jackson [Fri, 9 Nov 2012 21:33:54 +0000 (16:33 -0500)]
glx: Pull GLX vendor string out of __GLXscreen
Given how we're currently implementing GLX this can't meaningfully vary
per-screen.
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Adam Jackson [Wed, 31 Oct 2012 14:05:24 +0000 (10:05 -0400)]
glx: Remove unused bits from the context struct
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Adam Jackson [Thu, 4 Jul 2013 14:08:40 +0000 (10:08 -0400)]
glxproxy: Don't track GLCLientm{aj,in}orVersion
Basically just a port of
62f06b0d to glxproxy.
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Adam Jackson [Tue, 30 Oct 2012 22:20:43 +0000 (18:20 -0400)]
dmx/glx: Remove unused __glXNop
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Adam Jackson [Thu, 22 Aug 2013 20:42:23 +0000 (16:42 -0400)]
damageext: Style fix
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Adam Jackson [Wed, 21 Aug 2013 15:57:24 +0000 (11:57 -0400)]
damage: Remove "post-rendering" hooks
This is a revert of
974db58f5b730c3770ee461665a02dd4334d1dea. There are
no consumers of this API, we must not need it.
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Adam Jackson [Wed, 21 Aug 2013 15:13:11 +0000 (11:13 -0400)]
damage: Don't rewrite Text ops to GlyphBlt ops
There's no particularly good reason to, and it breaks Xnest.
Bugzilla: http://bugs.freedesktop.org/2454
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Adam Jackson [Mon, 26 Aug 2013 18:03:51 +0000 (14:03 -0400)]
damage: Simplify DamageUnregister
You can only register one drawable on a given damage, so there's no
reason to require the caller to specify the drawable, the damage is
enough. The implementation would do something fairly horrible if you
_did_ pass mismatched drawable and damage, so let's avoid the problem
entirely.
v2: Simplify xf86RotateDestroy even more [anholt]
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Adam Jackson [Mon, 26 Aug 2013 17:52:14 +0000 (13:52 -0400)]
damage: Implicitly unregister on destroy
There's no reason not to, and it simplifies quite a few callers.
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Adam Jackson [Thu, 18 Oct 2012 18:24:23 +0000 (14:24 -0400)]
fb: Remove unused compatibility wrappers
Originally added in early 2009, not being used elsewhere anymore.
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Adam Jackson [Thu, 18 Oct 2012 18:24:22 +0000 (14:24 -0400)]
mipointer: Remove deprecated miPointerCurrentScreen
The only remaining use was in some debugging code in DMX.
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Mark Kettenis <kettenis@openbsd.org>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Adam Jackson [Thu, 18 Oct 2012 18:24:21 +0000 (14:24 -0400)]
xfree86: Remove deprecated unimplemented xf86MapReadSideEffects
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Mark Kettenis <kettenis@openbsd.org>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Adam Jackson [Thu, 18 Oct 2012 18:24:20 +0000 (14:24 -0400)]
dix: FIXES is not optional
It's already not optional at configure time, this just makes it so at
build time too.
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Adam Jackson [Thu, 18 Oct 2012 18:24:19 +0000 (14:24 -0400)]
vbe: Don't try to load the ddc submodule
DDC is built into the server now.
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Adam Jackson [Thu, 18 Oct 2012 18:24:18 +0000 (14:24 -0400)]
misprite: Delete some dead private storage
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Adam Jackson [Tue, 16 Oct 2012 18:56:25 +0000 (14:56 -0400)]
dri2: Don't bother with xf86LoaderCheckSymbol("DRI2Connect")
The DRI2 code is now built-in to the server, even for Xorg. The only
thing this could protect against is trying to run a libglx built with
DRI2 support against an Xorg built without it, which is firmly in
"doctor it hurts when I do this" territory.
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Adam Jackson [Tue, 16 Oct 2012 18:56:23 +0000 (14:56 -0400)]
list: Avoid using X types
In particular, Bool. This is not an ABI break:
/usr/include/X11/Xdefs.h:typedef int Bool;
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Adam Jackson [Tue, 16 Oct 2012 18:56:22 +0000 (14:56 -0400)]
dbe: Fold the window private private into the window private
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Adam Jackson [Tue, 16 Oct 2012 18:56:21 +0000 (14:56 -0400)]
dbe: Fold midbe reset into dix
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Adam Jackson [Tue, 16 Oct 2012 18:56:20 +0000 (14:56 -0400)]
dbe: Drop the unused idiom support
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Adam Jackson [Tue, 16 Oct 2012 18:56:19 +0000 (14:56 -0400)]
damage: Remove the 'damage window' resource type.
Note that the existing code never actually creates a resource of this
type, so it can't possibly do anything. This is clearly meant to track
window destruction and clean up any associated Damages, but that's
already handled by miext/damage's DestroyWindow wrapper.
Previous discussion:
http://lists.freedesktop.org/archives/xorg-devel/2011-March/020847.html
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Adam Jackson [Tue, 16 Oct 2012 18:56:18 +0000 (14:56 -0400)]
dmx: Remove ShadowFB support
This has been listed as deprecated ever since DMX was merged.
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Adam Jackson [Tue, 16 Oct 2012 18:56:17 +0000 (14:56 -0400)]
dix: Remove a dead parameter from DoGetImage
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Adam Jackson [Tue, 16 Oct 2012 18:56:16 +0000 (14:56 -0400)]
mipointer: Remove EnqueueEvent from miPointerScreenFuncRec
No DDX overrode this, and we never actually called through that slot
anyway.
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Adam Jackson [Tue, 16 Oct 2012 18:56:15 +0000 (14:56 -0400)]
mipointer: Flatten calls to mieqSwitchScreen
No DDX was overriding this.
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Adam Jackson [Tue, 16 Oct 2012 18:56:14 +0000 (14:56 -0400)]
os: Factor out some common code in input buffer handling
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Radek Doulik [Tue, 13 Aug 2013 06:45:47 +0000 (08:45 +0200)]
xnest: Ignore GetImage() error in xnestGetImage()
When an Xnest instance is not viewable it will crash when a client in
that instance calls GetImage. This is because the Xnest server will
itself receives a BadMatch error.
This patch ignores the error. The application which has requested the
image will receive garbage - this however is fully legal according
to the specs as obscured areas will always contain garbage if there
isn't some sort of backing store as discussed in
https://bugs.freedesktop.org/show_bug.cgi?id=9488
The applied patch is a version from Dadek Doulik.
v2: Call XSync() before changing error handlers as suggested by
Daniel Stone <daniel@fooishbar.org>.
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
Signed-off-by: Egbert Eich <eich@freedesktop.org>
Michal Srb [Tue, 6 Aug 2013 14:56:53 +0000 (16:56 +0200)]
Xnest: Implement xnestModifyPixmapHeader
Xnest variant of ModifyPixmapHeader that creates new Pixmap in parent X
server if it's size is modified from 0x0 to anything bigger.
xnestCreatePixmap doesn't create pixmap in parent X server if it has
dimensions 0x0. If it is later resized and accessed, Xnest will be
aborted with BadDrawable error from parent X server because it will
use XID 0. This happens with ScratchPixmap, for example as used from
XaceCensorImage. Applications using XACE crash Xnest.
Reviewed-by: Adam Jackson <ajax@redhat.com>
Peter Harris [Mon, 15 Jul 2013 23:44:45 +0000 (19:44 -0400)]
security: Don't count RetainPermanent clients twice
If a RetainPermanent client is subsequently killed by a KillClient
request, the reference count is decremented twice. This can cause the
server to prematurely kill other clients using the same Authorization.
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Peter Harris <pharris@opentext.com>
Peter Harris [Mon, 15 Jul 2013 23:44:29 +0000 (19:44 -0400)]
mi: Avoid stack smash when drawing dashed lines
X.org Bug 54013 <https://bugs.freedesktop.org/show_bug.cgi?id=54013>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Peter Harris <pharris@opentext.com>
Chris Wilson [Fri, 21 Jun 2013 21:58:31 +0000 (22:58 +0100)]
os: Immediately queue initial WriteToClient
If we immediately put the WriteToClient() buffer into the socket's write
queue, not only do we benefit from sending the response back to client
earlier, but we also avoid the overhead of copying the data into our own
staging buffer and causing extra work in the next select(). The write is
effectively free as typically we may only send one reply per client per
select() call, so the cost of the FlushClient() is the same.
shmget10: 26400 -> 110000
getimage10: 25000 -> 108000
shmget500: 3160 -> 13500
getimage500: 1000 -> 1010
The knock-on effect is that on a mostly idle composited desktop, the CPU
overhead is dominated by the memmove in WriteToClient, which is in turn
eliminated by this patch.
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Laurent Carlier [Fri, 7 Jun 2013 22:43:56 +0000 (00:43 +0200)]
ephyr: restore GLX support
It was removed since version 1.13
Signed-off-by: Sebastien Bacher <seb128@ubuntu.com>
Acked-by: Daniel Stone <daniel@fooishbar.org>
Keith Packard [Wed, 24 Apr 2013 21:58:27 +0000 (14:58 -0700)]
miext/sync: Fix multi-screen support in SyncFence initialization
miSyncSetup was checking to see if the screen private key had been
registered, and if so, skipping the setup of the provided screen.
Instead, it should register the private index only once, but then
initialize the screen unless it has already been initialized. This
latter step allows drivers to initialize the sync private structures
before the Sync extension itself is initialized.
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
Adam Jackson [Wed, 21 Aug 2013 18:12:52 +0000 (14:12 -0400)]
randr: Fix a copypasta bug in CRTC confinement
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Keith Packard [Mon, 9 Sep 2013 22:13:42 +0000 (15:13 -0700)]
Merge remote-tracking branch 'jturney/master'
Thomas Klausner [Wed, 4 Sep 2013 18:06:07 +0000 (20:06 +0200)]
Fix typo in configure warning.
Signed-off-by: Thomas Klausner <wiz@NetBSD.org>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Thomas Klausner [Wed, 4 Sep 2013 18:05:51 +0000 (20:05 +0200)]
Fix bug in cursor handling.
CreateCursor (Xlib call XCreatePixmapCursor) with a non-bitmap
source pixmap and a None mask is supposed to error out with BadMatch,
but didn't.
From der Mouse <mouse@Rodents-Montreal.ORG>, changed following
comments by Alan Coopersmith <alan.coopersmith@oracle.com>.
Signed-off-by: Thomas Klausner <wiz@NetBSD.org>
Reviewed-by: Jasper St. Pierre <jstpierre@mecheye.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Chris Clayton [Wed, 4 Sep 2013 05:42:04 +0000 (15:42 +1000)]
kdrive: fix build error on gcc 4.8 for out-of-bounds array access
I'm getting a error building xorg-server-1.14.1.902 with thelatest snapshot
of gcc-4.8:
input.c:225:43: error: array subscript is above array bounds
[-Werror=array-bounds]
This is because kdNumInputFds can become equal to KD_MAX_INPUT_FDS in
KdRegisterFd(). This means that in KdUnregisterFd(), kdInputFds[j + 1] can
be beyond the end of the array.
Signed-off-by: Chris Clayton <chris2553@googlemail.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Sebastien Bacher [Fri, 23 Aug 2013 19:21:44 +0000 (21:21 +0200)]
kdrive: initialize GLX for xephyr
Like commit
ac1a60e7b6f06fd075cc5bf55d6bc67206a01d29, re-add
initialization of GLX after it was accidentally dropped from non-Xorg
servers in
5f5bbbe543f65c48ecbb5cce80116a86ca3fbe86.
Signed-off-by: Sebastien Bacher <seb128@ubuntu.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=62346
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Eric Anholt <eric@anholt.net>
Eric Anholt [Fri, 23 Aug 2013 18:23:00 +0000 (11:23 -0700)]
ephyr: Do grab/ungrab for ctrl+shift, not just shift+ctrl.
Given that the window title says "ctrl+shift", having pressing those
keys in that order not ungrab you is fairly mean.
Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Julien Cristau <jcristau@debian.org>
Eric Anholt [Fri, 23 Aug 2013 18:19:17 +0000 (11:19 -0700)]
ephyr: Flush the X connection when updating the window title.
Otherwise when you're doing the ctrl-shift mouse grab thing, you
don't know what state you're in until the next rendering occurs.
Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Julien Cristau <jcristau@debian.org>
Eric Anholt [Fri, 23 Aug 2013 18:17:14 +0000 (11:17 -0700)]
ephyr: Use host (HW) cursors by default.
Unless you're working on the sw cursor rendering code, you surely want
to have real hardware cursors.
Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Julien Cristau <jcristau@debian.org>
Eric Anholt [Fri, 23 Aug 2013 18:04:22 +0000 (11:04 -0700)]
ephyr: Garbage collect some DOA host window clipping code.
Introduced in
79782726617d4b5a4f9b376f21936d035fc870e1 but never used.
Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Julien Cristau <jcristau@debian.org>
Eric Anholt [Fri, 23 Aug 2013 17:56:22 +0000 (10:56 -0700)]
ephyr: Garbage collect some dead XV clipping code.
Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Julien Cristau <jcristau@debian.org>
Eric Anholt [Fri, 23 Aug 2013 17:44:23 +0000 (10:44 -0700)]
ephyr: Remove the helper libs for each of the optional components.
Note that EXTRA_DIST was always unnecessary, because automake notices
conditional compile of source files and includes them.
Copyright header is added because git noted that this was a 61%
rewrite.
Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Julien Cristau <jcristau@debian.org>
Eric Anholt [Fri, 23 Aug 2013 17:40:52 +0000 (10:40 -0700)]
ephyr: Remove the remaining bits of host/server XV split.
Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Julien Cristau <jcristau@debian.org>
Eric Anholt [Fri, 23 Aug 2013 17:14:36 +0000 (10:14 -0700)]
ephyr: Remove the host/server split of the actual XV video operations.
I suspect there's more cleanup possible in ephyrHostXVPutImage() by
sticking a bunch of the args in the port priv earlier.
Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Julien Cristau <jcristau@debian.org>
Eric Anholt [Fri, 23 Aug 2013 17:01:23 +0000 (10:01 -0700)]
ephyr: Remove another host/server split for XV image formats.
Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Julien Cristau <jcristau@debian.org>
Eric Anholt [Fri, 23 Aug 2013 00:00:41 +0000 (17:00 -0700)]
ephyr: Remove the host/server split for video encodings.
Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Julien Cristau <jcristau@debian.org>
Eric Anholt [Fri, 23 Aug 2013 00:26:21 +0000 (17:26 -0700)]
ephyr: Remove the host/server split for XV formats.
Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Julien Cristau <jcristau@debian.org>
Eric Anholt [Fri, 23 Aug 2013 00:21:37 +0000 (17:21 -0700)]
ephyr: Remove the host/server split for XV attributes.
v2: Fix leaks of xcb replies (caught by Julien)
Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Julien Cristau <jcristau@debian.org>
Eric Anholt [Fri, 23 Aug 2013 00:26:08 +0000 (17:26 -0700)]
ephyr: Remove the host/server split for XV adaptors.
Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Julien Cristau <jcristau@debian.org>
Eric Anholt [Sun, 18 Aug 2013 18:08:32 +0000 (20:08 +0200)]
ephyr: Refactor XV adaptor feature detection.
This obviously wanted a helper function beforehand, but even more so
now that we have XCB.
Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Julien Cristau <jcristau@debian.org>
Eric Anholt [Sun, 18 Aug 2013 18:02:53 +0000 (20:02 +0200)]
ephyr: Remove some pointless indirection in the XV code.
Now that we have XCB on the server side, we don't need to split these
functions out.
Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Julien Cristau <jcristau@debian.org>
Eric Anholt [Sun, 18 Aug 2013 16:38:29 +0000 (18:38 +0200)]
ephyr: Move event processing into ephyr.c.
No more extra event structure to translate between hostx.c and
ephyr.c!
Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Julien Cristau <jcristau@debian.org>
Eric Anholt [Sun, 18 Aug 2013 15:28:08 +0000 (17:28 +0200)]
ephyr: Move the host screen info into the kdrive screen private.
We can include xcb bits from the same place as server headers, so
there's no need to hide them any more.
Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Julien Cristau <jcristau@debian.org>
Eric Anholt [Sun, 18 Aug 2013 14:45:06 +0000 (16:45 +0200)]
ephyr: Rename and use the proper type for what was host_screen->info.
Now that we can include server headers in talking to host X, we don't
need to hide any more.
Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Julien Cristau <jcristau@debian.org>
Eric Anholt [Sun, 18 Aug 2013 12:12:45 +0000 (14:12 +0200)]
ephyr: Expose a single function for detecting extensions.
v2: Fix trying to include xcb-dri in the non-dri-build case (Noted by
Julien)
Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Julien Cristau <jcristau@debian.org>
Eric Anholt [Sun, 18 Aug 2013 12:01:53 +0000 (14:01 +0200)]
ephyr: Drop dead ephyrHostAtomToLocal code.
Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Julien Cristau <jcristau@debian.org>
Julien Cristau [Wed, 20 Oct 2010 18:10:43 +0000 (20:10 +0200)]
Xephyr: we're not using Xlib anymore, no need to undef _XSERVER64
Drop obsolete comments about interaction between Xlib code and that
macro, and stop undefining it.
Signed-off-by: Julien Cristau <jcristau@debian.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
Julien Cristau [Sat, 25 Sep 2010 14:05:07 +0000 (16:05 +0200)]
Xephyr: handle errors in event loop
Signed-off-by: Julien Cristau <jcristau@debian.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Mikhail Gusarov <dottedmag@dottedmag.net>
Julien Cristau [Fri, 25 Jun 2010 13:20:57 +0000 (14:20 +0100)]
Xephyr: drop remaining Xlib dependency
Reviewed-by: Mikhail Gusarov <dottedmag@dottedmag.net>
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Julien Cristau <jcristau@debian.org>
Julien Cristau [Mon, 21 Jun 2010 13:39:03 +0000 (14:39 +0100)]
Xephyr: move glx code to xcb
v2: Rebase on master, notably adding XCB for
X_GLXvop_MakeCurrentReadSGI (anholt).
v3: Fix use-after-free (caught by Julien).
Reviewed-by: Mikhail Gusarov <dottedmag@dottedmag.net> (v1)
Signed-off-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Eric Anholt <eric@anholt.net>
Julien Cristau [Wed, 23 Jun 2010 17:36:00 +0000 (18:36 +0100)]
Xephyr: remove unused DRI1 code
Reviewed-by: Mikhail Gusarov <dottedmag@dottedmag.net>
Signed-off-by: Julien Cristau <jcristau@debian.org>
Julien Cristau [Sat, 19 Jun 2010 23:07:08 +0000 (00:07 +0100)]
Xephyr: move ephyrdri over to xcb
Require new xcb-xf86dri to get fixed GetDrawableInfo.
Reviewed-by: Mikhail Gusarov <dottedmag@dottedmag.net>
Signed-off-by: Julien Cristau <jcristau@debian.org>
Julien Cristau [Sun, 20 Jun 2010 10:13:26 +0000 (11:13 +0100)]
Xephyr: use xcb-xv instead of libXv
v2: Massive, conflict-filled rebase. I think I resolved everything
right, but this host xv code makes my eyes bleed. Touch-tested XV
after the rebase (anholt).
Reviewed-by: Mikhail Gusarov <dottedmag@dottedmag.net> (v1)
Signed-off-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Eric Anholt <eric@anholt.net>
Julien Cristau [Mon, 21 Jun 2010 16:20:32 +0000 (17:20 +0100)]
Xephyr: use xcb for event handling
v2: Rebase on indentation changes, squash in a simpler variant of the
later event compression patch, fix server hang or segfault on
window close by reimplementing the x_io_error_handler in the new
XCB event loop (anholt).
Reviewed-by: Mikhail Gusarov <dottedmag@dottedmag.net> (v1)
Signed-off-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Eric Anholt <eric@anholt.net>
Julien Cristau [Thu, 24 Jun 2010 22:45:16 +0000 (23:45 +0100)]
Xephyr: some more hostx.c xcb-ification
Reviewed-by: Mikhail Gusarov <dottedmag@dottedmag.net>
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Julien Cristau <jcristau@debian.org>