Alan Coopersmith [Tue, 17 Sep 2013 04:45:29 +0000 (21:45 -0700)]
Update GLX dependencies now that DRI & DRI2 are builtins, not modules
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Alan Coopersmith [Wed, 4 Sep 2013 05:53:28 +0000 (22:53 -0700)]
DMX glxproxy: Don't allocate & copy data just to free it unused
Two functions in the DMX glxproxy code loop over all the backend
screens, starting at the highest numbered and counting down to
the lowest.
Previously, for each screen, the code would allocate a buffer
large enough to read the reply from the backend, copy that reply
into the buffer, and then if it wasn't the final screen, free it.
Only the buffer from the final screen is used, to pass on to the
client in the reply.
This modifies it to just immediately discard the responses from
the screens as we loop through it, only doing the allocate & copy
work for the one buffer we pass back to the client.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Alex Deucher <aleander.deucher@amd.com>
Alan Coopersmith [Mon, 19 Aug 2013 01:02:49 +0000 (18:02 -0700)]
Skip damage calls if DamageCreate fails in exa functions
Fixes parfait errors such as:
Null pointer dereference (CWE 476): Write to null pointer pDamage
at line 1833 of miext/damage/damage.c in function 'DamageRegister'.
Function DamageCreate may return constant 'NULL' at line 1775,
called at line 232 of exa/exa_migration_mixed.c
in function 'exaPrepareAccessReg_mixed'.
Constant 'NULL' passed into function DamageRegister,
argument pDamage, from call at line 237.
Null pointer introduced at line 1775 of miext/damage/damage.c
in function 'DamageCreate'.
Null pointer dereference (CWE 476): Write to null pointer pDamage
at line 1833 of miext/damage/damage.c in function 'DamageRegister'.
Function DamageCreate may return constant 'NULL' at line 1775,
called at line 104 of exa/exa_mixed.c
in function 'exaCreatePixmap_mixed'.
Constant 'NULL' passed into function DamageRegister,
argument pDamage, from call at line 109.
Null pointer introduced at line 1775 of miext/damage/damage.c
in function 'DamageCreate'.
Checks are similar to handling results of other calls to DamageCreate.
[ This bug was found by the Parfait 1.3.0 bug checking tool.
http://labs.oracle.com/pls/apex/f?p=labs:49:::::P49_PROJECT_ID:13 ]
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Peter Hutterer [Wed, 4 Sep 2013 05:34:29 +0000 (15:34 +1000)]
dix: only deliver for the current grab type
Use the grabtype to determine which type of event to send - all other events
are pointless and may result in erroneous events being delivered.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 4 Sep 2013 05:34:28 +0000 (15:34 +1000)]
dix: don't attempt to deliver an event for a different grabtype
For an active grab, grab->eventMask can be either the core or the XI1 mask.
With the overlap of event filters, calling DeliverOneGrabbedEvent(XI1) for a
ProximityOut event will trigger if the client has selected for enter events -
the filter is the same for both.
Thus, we end up delivering a proximity event to a client not expecting one.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 4 Sep 2013 05:34:27 +0000 (15:34 +1000)]
include: change grabtypes to start at 1
Avoid erroneous detection of an unset grabtype as CORE
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 4 Sep 2013 05:34:26 +0000 (15:34 +1000)]
dix: only allow button and key events to freeze a sync'd pointer
If a client calls XAllowEvents(SyncPointer) it expects events as normal until
the next button press or release event - that freezes the device. An e.g.
proximity event must thus not freeze the pointer.
As per the spec, only button and key events may do so, so narrow it to these
cases.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Michele Baldessari [Sun, 15 Sep 2013 18:30:38 +0000 (19:30 +0100)]
Xephyr: restore cursor visibility
Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=69388
Commit
c100211034ab69ce453a1644fb61c6808d7e3eda (dix: only show the cursor
if a window defines one (#58398)) broke the default cursor behaviour in
Xephyr (unless run with -retro). Restore the default cursor visibility
so that '-retro' or '-host-cursor' are not needed to have a visible
cursor.
Signed-off-by: Michele Baldessari <michele@acksyn.org>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
as of
ba387cf21f7d95987211f75d8024601e7d64e322 "ephyr: Use host (HW) cursors
by default." this only applies if -sw-cursor is given on the cmdline.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Michele Baldessari [Sun, 15 Sep 2013 18:56:34 +0000 (19:56 +0100)]
Fix Xephyr compilation when DEBUG is enabled
When DEBUG is enabled Xephyr compilation fails:
ephyrdriext.c:343:133: error: 'is_ok' undeclared (first use in this
function)
EPHYR_LOG("leave. is_ok:%d\n", is_ok);
Just reemove bogus is_ok variable.
Signed-off-by: Michele Baldessari <michele@acksyn.org>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Adam Jackson [Tue, 10 Sep 2013 18:18:18 +0000 (14:18 -0400)]
input: calloc minimization for xi2mask_new
There's no reason to do this as (nmasks + 2) callocs, and it's a
surprisingly hot path. Turns out you hit this ~once per passive grab,
and you do a few bajillion passive grab changes every time you enter or
leave the overview in gnome-shell. According to a callgrind of Xorg
with gnome-shell-perf-tool run against it:
Ir before:
721437275
Ir after:
454227086
Signed-off-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Jasper St. Pierre <jstpierre@mecheye.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Jon TURNEY [Sun, 6 Oct 2013 15:45:52 +0000 (16:45 +0100)]
hw/xwin: Fix for "glx: Remove screen number from __GLXconfig"
Fix compilation after commit
c3c976f54c3c282d6fa6c8360688e036bc43d210 "glx:
Remove screen number from __GLXconfig"
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Keith Packard [Tue, 8 Oct 2013 00:29:38 +0000 (17:29 -0700)]
Merge remote-tracking branch 'jeremyhu/master'
Emil Velikov [Mon, 7 Oct 2013 17:29:25 +0000 (18:29 +0100)]
configure.ac: Include missing proto declarations in SDK_REQUIRED_MODULES
Commits
a1d41e311c21e,
7d859bd87834d &
3ed2c6e11298c made extinit.h require
the XF86 Big Font, XRes & ScrnSaver proto headers, but failed to add them
to the SDK_REQUIRED_MODULES so pkg-config would find them for driver builds.
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
Signed-off-by: Keith Packard <keithp@keithp.com>
Jeremy Huddleston Sequoia [Sun, 6 Oct 2013 16:20:45 +0000 (09:20 -0700)]
XQuartz: Dont't set screen on __GLXConfig
Fixes regression introduced by
c3c976f54c3c282d6fa6c8360688e036bc43d210
Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
Jeremy Huddleston Sequoia [Sun, 6 Oct 2013 16:18:15 +0000 (09:18 -0700)]
rootless: Use miCopyRegion instead of fbCopyRegion
Fixes regression introduced by
e657635dbe6b92875b0e88370557c2cbab673a49
Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
Pino Toscano [Wed, 28 Aug 2013 15:15:03 +0000 (17:15 +0200)]
os: move <arpa/inet.h> for any !win32 system
It is needed in IPv6 configurations (for inet_pton) also when
SIOCGIFCONF is not defined.
Signed-off-by: Pino Toscano <toscano.pino@tiscali.it>
Acked-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Signed-off-by: Julien Cristau <jcristau@debian.org>
Pino Toscano [Wed, 28 Aug 2013 15:04:48 +0000 (17:04 +0200)]
xfree86/hurd: include <hurd.h>
Needed for using get_privileged_port.
Signed-off-by: Pino Toscano <toscano.pino@tiscali.it>
Acked-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Signed-off-by: Julien Cristau <jcristau@debian.org>
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>