Commit Graph

2978 Commits

Author SHA1 Message Date
Keith Packard 3824417335 Merge remote branch 'vsyrjala/xv_reput' 2010-12-02 08:39:33 -08:00
Julien Cristau 8684543021 DGA: fix screen number check
screenInfo.numScreens is not a valid screen number, they go from 0 to
numScreens - 1.

Signed-off-by: Julien Cristau <jcristau@debian.org>
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-12-01 10:33:52 -08:00
Keith Packard 02449ee24b Merge remote branch 'ajax/for-keithp' 2010-11-30 13:30:59 -08:00
Keith Packard afd6eb66d5 Merge remote branch 'aplattner/for/keith' 2010-11-30 13:28:13 -08:00
Adam Jackson 5f34853d6f xfree86: Bump classic driver default to 1024x768
Signed-off-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-11-30 13:24:23 -08:00
Adam Jackson b85f9063c2 xfree86: Remove the xf8_16bpp overlay module
Only one (marginal) driver was using it, and it's been fixed to just
implement it directly.

v2: Also fix sdksyms.sh (spotted by Jesse Adkins)
v3: Also fix DESIGN.xml (spotted bu Julien Cristau)

Reviewed-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Adam Jackson <ajax@redhat.com>
2010-11-30 14:26:58 -05:00
Adam Jackson a861fe6a1c vbe: Refuse to believe tiny (or negative) panel sizes from PanelID
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Adam Jackson <ajax@redhat.com>
2010-11-30 13:50:42 -05:00
Adam Jackson 1b3c57f075 xfree86: Remove unused xf86PixmapKeyRec
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Adam Jackson <ajax@redhat.com>
2010-11-30 13:46:09 -05:00
Adam Jackson c4c4676e68 dix: Remove the backing store leftovers
Reviewed-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Adam Jackson <ajax@redhat.com>
2010-11-30 13:46:08 -05:00
Aaron Plattner ffcbfa0063 xfree86: Fix rotation of 2-color non-interleaved cursor images
When RandR 1.2's transformation code is enabled, it rotates the cursor
image so that it appears upright on a rotated screen.  This code
completely mangles 2-color cursors on hardware where the the mask and
source images are not interleaved due to two problems:

1. stride is calculated as (width / 4) rather than (width / 8), so the
   expression (y * stride) skips two lines instead of one for every
   time y is incremented.
2. cursor_bitpos ignores the 'mask' parameter if the hardware doesn't
   specify any of the HARDWARE_CURSOR_SOURCE_MASK_INTERLEAVE_* flags.

To fix this, refactor the code to pass the whole xf86CursorInfoPtr
through to cursor_bitpos and compute the correct stride there based on
the flags.  If none of the SOURCE_MASK_INTERLEAVE flags are set, use
the total cursor size to move the 'image' variable into the mask part
of the image before computing the desired byte pointer.

Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Robert Morell <rmorell@nvidia.com>
Reviewed-by: Alex Deucher <alexdeucher@gmail.com>
Tested-by: Cyril Brulebois <kibi@debian.org>
2010-11-30 10:31:43 -08:00
Adam Jackson 7ee965a300 linux: Refactor VT switch on {re,}generation and shutdown
This makes more things fatal than were fatal before, but that's correct;
if you need the VT, then failing to get it on regeneration means things
are about to go very very badly.

Reviewed-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Adam Jackson <ajax@redhat.com>
2010-11-30 13:28:28 -05:00
Adam Jackson 0def735c6a xfree86: Remove dead ifdefs from VT switching
Reviewed-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Adam Jackson <ajax@redhat.com>
2010-11-30 13:28:28 -05:00
Adam Jackson 96a7a7d197 linux: Don't muck about with tty permissions
This is not X's job.

Reviewed-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Adam Jackson <ajax@redhat.com>
2010-11-30 13:28:28 -05:00
Adam Jackson 6ce1908ba4 xfree86: Remove os-support/sysv
Nothing's using it, the SysV derivatives we support have their own
custom versions.

Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Signed-off-by: Adam Jackson <ajax@redhat.com>
2010-11-30 13:28:28 -05:00
Adam Jackson 01159ffc47 linux: Remove redundant variable
Reviewed-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Adam Jackson <ajax@redhat.com>
2010-11-30 13:28:28 -05:00
Ville Syrjälä f4f41c812d xfree86/xv: Provide a ModeSet hook
Reput all ports when the display mode or panning has been changed by
RandR code. This makes the overlays appear in the correct position
on the screen.

Signed-off-by: Ville Syrjälä <ville.syrjala@nokia.com>
Reviewed-by: Luc Verhaegen <luc.verhaegen@basyskom.de>
2010-11-26 18:01:06 +02:00
Ville Syrjälä 640c8716e0 xfree86/modes: Provide a ModeSet hook in ScrnInfo
Add a new hook ModeSet that will be called after display mode is
changed, or after the display has been panned.

Signed-off-by: Ville Syrjälä <ville.syrjala@nokia.com>
Reviewed-by: Luc Verhaegen <luc.verhaegen@basyskom.de>
2010-11-26 18:01:06 +02:00
Ville Syrjälä a942534ca3 xfree86/xv: Pass all coordinate arguments to ReputImage
Pass all of the src/dst coordinates to ReputImage so that drivers
don't necessarily have to do double bookkeeping.

Signed-off-by: Ville Syrjälä <ville.syrjala@nokia.com>
Reviewed-by: Luc Verhaegen <luc.verhaegen@basyskom.de>
2010-11-26 18:01:05 +02:00
Ville Syrjälä 0fef4e9448 xfree86/xv: Document VIDEO_CLIP_TO_VIEWPORT incompatibility with reput
Signed-off-by: Ville Syrjälä <ville.syrjala@nokia.com>
Reviewed-by: Luc Verhaegen <luc.verhaegen@basyskom.de>
2010-11-26 18:01:05 +02:00
Ville Syrjälä 5f8ec1ade8 xfree86/xv: Add some helpful comments about ReputImage
Document the fact that ReputImage is used for stills as well as images.

Signed-off-by: Ville Syrjälä <ville.syrjala@nokia.com>
Reviewed-by: Luc Verhaegen <luc.verhaegen@basyskom.de>
2010-11-26 18:01:05 +02:00
Ville Syrjälä b4ebde23d2 xfree86/xv: Fix ReputImage clipping
PutImage/PutStill respect the GC clip, however ReputImage does not.
PutImage/PutStill are supposed to be oneshot operations so ReputImage
should never expand the area covered by the clip, instead it should
only shrink if the window clip shrinks. So commandeer clientClip
into use by ReputImage and initially make it a copy of the original
GC composite clip. Whenever ReputImage needs reclipping update
clientClip with the newly calculated composite clip.

Signed-off-by: Ville Syrjälä <ville.syrjala@nokia.com>
Reviewed-by: Luc Verhaegen <luc.verhaegen@basyskom.de>
2010-11-26 18:01:05 +02:00
Ville Syrjälä 7294236bdb xfree86/xv: Remove clipOrg from XvPortRecPrivate
clipOrg never changes except when clientClip changes, so instead of
keeping copies of both originals translate clientClip by clipOrg
immediately and just keep the translated clientClip.

Signed-off-by: Ville Syrjälä <ville.syrjala@nokia.com>
Reviewed-by: Luc Verhaegen <luc.verhaegen@basyskom.de>
2010-11-26 18:01:05 +02:00
Ville Syrjälä 47d8bd0a99 xfree86/xv: Factor out the meat of xf86XVAdjustFrame for later reuse
No functional change.

Signed-off-by: Ville Syrjälä <ville.syrjala@nokia.com>
Reviewed-by: Luc Verhaegen <luc.verhaegen@basyskom.de>
2010-11-26 18:01:05 +02:00
Ville Syrjälä 3d4d0237a3 xfree86/xv: Change the behaviour of AdjustFrame to reput everything
Also reput PutVideo/GetVideo ports in AdjustFrame. This makes the
overlay track the screen panning instead of staying stationary in the
wrong place.

Signed-off-by: Ville Syrjälä <ville.syrjala@nokia.com>
Reviewed-by: Luc Verhaegen <luc.verhaegen@basyskom.de>
2010-11-26 18:01:05 +02:00
Ville Syrjälä d794be8121 xfree86/xv: No need to free composite clip in AdjustFrame
Nothing should change in AdjustFrame that would need the composite clip
to be recomputed.

Signed-off-by: Ville Syrjälä <ville.syrjala@nokia.com>
Reviewed-by: Luc Verhaegen <luc.verhaegen@basyskom.de>
2010-11-26 18:01:05 +02:00
Ville Syrjälä 6051c7e940 xfree86/xv: Change the behaviour of ClipNotify to reput instead of stop
When ClipNotify gets called for a visible window, reput instead of
stopping the port. This eliminates nasty overlay flickering that
happens during clip changes.

If the window is invisible or if ReputImage isn't supported stop
and remove the port from the window as was done before.

Signed-off-by: Ville Syrjälä <ville.syrjala@nokia.com>
Reviewed-by: Luc Verhaegen <luc.verhaegen@basyskom.de>
2010-11-26 18:01:05 +02:00
Ville Syrjälä 27707ac5bd xfree86/xv: Allow xf86XVReputOrStopPort() to stop PutVideo/GetVideo ports
Modify xf86XVReputOrStopPort() to allow stopping of all types of ports.
Will be useful later.

No functional change.

Signed-off-by: Ville Syrjälä <ville.syrjala@nokia.com>
Reviewed-by: Luc Verhaegen <luc.verhaegen@basyskom.de>
2010-11-26 18:01:05 +02:00
Ville Syrjälä 38987aae19 xfree86/xv: Factor out the meat of xf86XVWindowExposures for later reuse
No fucntional change.

Signed-off-by: Ville Syrjälä <ville.syrjala@nokia.com>
Reviewed-by: Luc Verhaegen <luc.verhaegen@basyskom.de>
2010-11-26 18:01:05 +02:00
Ville Syrjälä 0178173f05 xfree86/xv: Eliminate two open coded copies of xf86XVRemovePortFromWindow
No functional change.

Signed-off-by: Ville Syrjälä <ville.syrjala@nokia.com>
Reviewed-by: Luc Verhaegen <luc.verhaegen@basyskom.de>
2010-11-26 18:01:05 +02:00
Ville Syrjälä b02858b5af xfree86/xv: Remove useless NULL check from ClipNotify
WinPriv->PortRec should never be NULL as WinPriv itself would be removed
from the list when the port is removed from the window.

Signed-off-by: Ville Syrjälä <ville.syrjala@nokia.com>
Reviewed-by: Luc Verhaegen <luc.verhaegen@basyskom.de>
2010-11-26 18:01:05 +02:00
Keith Packard 4e0f8f666e Merge remote branch 'whot/for-keith' 2010-11-24 11:47:33 -08:00
Gaetan Nadon 7250f078c1 doc: refactor Makefile and xmlrules.in code for reusability
A different approach which requires less variables setting
and internal knowledge of the reused code.
Changing from "install" to "not install" is very easy now.

Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-11-24 11:44:35 -08:00
Gaetan Nadon f33512b70c xmlrules.in: use $(top_srcdir) rather than ../../../ [...]
Relative paths don't always work in distcheck when srcdir not = builddir
include $(top_srcdir)/doc/xml/xmlrules.in

Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-11-24 11:44:25 -08:00
Alan Coopersmith 504e3010e9 Xorg.man: Replace XDarwin reference with Xquartz
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-11-24 11:41:45 -08:00
Bill Nottingham 566d09a5cd xfree86: store the screen's gamma information on init.
This fixes a gamma issue on vt switch observed with KDM. VT switching away
and back would result in a black screen. Avoid this by storing the current
gamma information on init.

https://bugzilla.redhat.com/show_bug.cgi?id=533217

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-11-24 11:35:04 -08:00
Adam Jackson c050aa2f5f xfree86: apply gamma settings on EnterVT.
When entering the VT, re-apply the saved gamma settings for each screen.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-11-24 11:29:31 -08:00
Peter Hutterer b31df0439f xfree86: add missing linebreak in error message.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Magnus Kessler <Magnus.Kessler@gmx.net>
2010-11-24 08:47:00 +10:00
Adam Jackson a6b9e8f1e5 linux: Fix CPU usage bug in console fd flushing
If the vt gets a vhangup from under us, then the tty will appear ready
in select(), but trying to tcflush() it will return -EIO, so we'll spin
around at 100% CPU for no reason.  Notice this condition and unregister
the handler if it happens.

Signed-off-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Mikhail Gusarov <dottedmag@dottedmag.net>
Reviewed-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2010-11-19 11:11:04 +10:00
Keith Packard 38c46ccf79 Merge remote branch 'whot/for-keith' 2010-11-15 09:06:33 +08:00
Keith Packard ed547a9fc8 Merge remote branch 'adkins/master' 2010-11-15 08:51:27 +08:00
Cyril Brulebois c8998af3eb xfree86: Initialize Pointer and Keyboard.
That helps us get rid of:
|   CC     xf86Config.lo
| xf86Config.c: In function ‘T.174’:
| xf86Config.c:1228: warning: ‘Pointer$module’ may be used uninitialized in this function
| xf86Config.c:1097: note: ‘Pointer$module’ was declared here
| xf86Config.c:1228: warning: ‘Pointer$drv’ may be used uninitialized in this function
| xf86Config.c:1097: note: ‘Pointer$drv’ was declared here
| xf86Config.c:1228: warning: ‘Pointer$type_name’ may be used uninitialized in this function
| xf86Config.c:1097: note: ‘Pointer$type_name’ was declared here
| xf86Config.c:1228: warning: ‘Pointer$private’ may be used uninitialized in this function
| xf86Config.c:1097: note: ‘Pointer$private’ was declared here
| xf86Config.c:1228: warning: ‘Pointer$dev’ may be used uninitialized in this function
| xf86Config.c:1097: note: ‘Pointer$dev’ was declared here
| xf86Config.c:1228: warning: ‘Pointer$fd’ may be used uninitialized in this function
| xf86Config.c:1097: note: ‘Pointer$fd’ was declared here
| xf86Config.c:1228: warning: ‘Pointer$set_device_valuators’ may be used uninitialized in this function
| xf86Config.c:1097: note: ‘Pointer$set_device_valuators’ was declared here
| xf86Config.c:1228: warning: ‘Pointer$switch_mode’ may be used uninitialized in this function
| xf86Config.c:1097: note: ‘Pointer$switch_mode’ was declared here
| xf86Config.c:1228: warning: ‘Pointer$control_proc’ may be used uninitialized in this function
| xf86Config.c:1097: note: ‘Pointer$control_proc’ was declared here
| xf86Config.c:1228: warning: ‘Pointer$read_input’ may be used uninitialized in this function
| xf86Config.c:1097: note: ‘Pointer$read_input’ was declared here
| xf86Config.c:1228: warning: ‘Pointer$device_control’ may be used uninitialized in this function
| xf86Config.c:1097: note: ‘Pointer$device_control’ was declared here
| xf86Config.c:1228: warning: ‘Pointer$flags’ may be used uninitialized in this function
| xf86Config.c:1097: note: ‘Pointer$flags’ was declared here
| xf86Config.c:1228: warning: ‘Pointer$next’ may be used uninitialized in this function
| xf86Config.c:1097: note: ‘Pointer$next’ was declared here

Signed-off-by: Cyril Brulebois <kibi@debian.org>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2010-11-15 07:44:12 +10:00
Peter Hutterer fa50670c32 xfree86: rename allowEmptyInput to forceInputDevices.
This is a more accurate name for the actual functionality than
allowEmptyInput. Historically, allowEmptyInput has allowed the server to
start with no input devices. Since 1.4 and the introduction of VCP and VCK,
there are always two input devices present.

allowEmptyInput was changed in behaviour to essentially "ignore xorg.conf
devices or not", auto-adding the built-in devices if disabled.

Rename to forceInputDevices, because that's essentially what it does. When
disabled (i.e. when hotplugging is enabled), it disables all
mouse/kbd/vmmouse devices configured in the xorg.conf file.
When enabled, it forces the traditional behaviour for input devices:
- use input devices configured in the server layout
- if none are configured, use the first pointer and the first keyboard
  device in the xorg.conf
- if none are configured, create the default pointer/keyboard devices.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Julien Cristau <jcristau@debian.org>
2010-11-12 11:49:48 +10:00
Jesse Adkins 23e329b564 xfree86: parser: Remove 'CUSTOM' flag option in Monitor section.
Not used in the initial import, and also not documented.

Signed-off-by: Jesse Adkins <jesserayadkins@gmail.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
2010-11-10 21:35:58 -08:00
Peter Hutterer 88cb61e1e5 Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into input-api
Conflicts:
	dix/getevents.c
	hw/xfree86/common/xf86Xinput.h

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2010-11-11 12:54:46 +10:00
Keith Packard 4ed4915bc0 Merge remote branch 'whot/for-keith' 2010-11-10 16:58:21 -08:00
Peter Hutterer ec1bfbc669 xfree86: remove user-configured AllowEmptyInput
An estimated 100% (rounded down to the nearest percent) of the people who
have this in their configuration don't actually know what this option does.
Protect the users from themselves.

IIRC, AEI on was useful for some time between 1.4 and 1.5 and never since.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Dan Nicholson <dbn.lists@gmail.com>
2010-11-11 10:26:46 +10:00
Keith Packard c9c0f93f8e Merge remote branch 'whot/for-keith' 2010-11-10 16:11:29 -08:00
Keith Packard 73f6de1ad8 Merge remote branch 'sandmann/fbdelete' 2010-11-10 16:02:22 -08:00
Eric Anholt f36153e3ef Replace usage of DamageRegionAppend with DamageDamageRegion to fix reportAfter.
In all these cases, any rendering implied by this damage has already
occurred, and we want to get the damage out to the client.  Some of
the DamageRegionAppend calls were explicitly telling damage to flush
the reportAfter damage out, but not all.

Bug #30260. Fixes the compiz wallpaper plugin with client damage
changed to reportAfter.

Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-11-10 15:51:03 -08:00
Luc Verhaegen cc2c73ddcb x86emu: fix jump_near_IMM to handle DATA: flag correctly.
Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=24348

Before (data flag ignored -> broken):
66                  DATA:
e944f1              JMP       1ff6

After (fixed):
66                  DATA:
e944f1ffff          JMP       00001ff8

This subtle difference in the length of decoded instruction meant
that the VBE call jumped to the routine setting AX=0x14F (VBE Failed)
instead of the routine that set AX=0x4F (VBE success).

The ability to run the same code in vm86 significantly aided the
debugging of this issue. Those X.org developers who would like to drop
vm86 better take special care towards _all_ vesa bugs, as those will
expose further issues.

Patch applies easily to even xserver 1.4.2.

Signed-off-by: Luc Verhaegen <libv@skynet.be>
Tested-by: Luc Verhaegen <libv@skynet.be>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-11-10 14:56:57 -08:00