Commit Graph

541 Commits

Author SHA1 Message Date
Daniel Stone 8724af248c kdrive/mga: fix compiler warning
Change a case that only made one test for an if, preventing the compiler
warning about all other PICT_* types being unsupported.
2006-12-06 23:24:24 +02:00
Daniel Stone 99378b58db kdrive/tslib: remove vendor-specific hacks
Parts of the KDrive merge accidentally contained a bunch of
vendor-specific hacks; sorry.
2006-12-06 23:24:24 +02:00
Daniel Stone f2903c12bb SyntheticMotion: don't dereference sprite.screen when not using Xinerama
(cherry picked from aa052e43c6c293e14f78837e00c6b7581f9713bb commit)
2006-12-06 23:24:23 +02:00
Daniel Stone 332f179db7 kdrive/sdl: fix compilation 2006-11-08 15:30:03 +02:00
Juliusz Chroboczek aa0261a98e Improve vm86 error handling in Xvesa. 2006-11-06 02:29:49 +01:00
Juliusz Chroboczek 6b2c65fdd1 Fix typo in Xvesa: incorrect reporting of DAC capabilities. 2006-11-06 00:30:09 +01:00
Samuel Thibault 412e93349e kdrive: make building of Linux support conditional (bug #5613)
Only try to build Linux support on Linux.  We should probably disable all
OS-dependent DDXes if we don't have a workable OS (and only build
Xephyr/Xfake), but that's future work.
2006-11-04 19:08:23 +02:00
Daniel Stone a2d6242106 kdrive:remove Change{Keyboard,Pointer}Device
This was removed in the DIX, so just axe it.
2006-11-02 00:46:33 +02:00
Daniel Stone 3df454719f kdrive: add KdRingBell prototype 2006-11-01 23:02:57 +02:00
Daniel Stone 644ee2434a kdrive: avoid null dereferences
Avoid jumping into NULL pointers for OS or card functions which do not
exist.
2006-10-29 03:52:11 +03:00
Daniel Stone 738d2e8817 kdrive: move bell ringing into an OS function
Move the bell into an OS function, and use that if it's declared; else,
fall back to using the driver's function.
Remove the Linux keyboard bell function; just move it into the OS layer.
Use named initialisers when converting the old structures, and eliminate
unused functions.
2006-10-29 03:48:02 +03:00
Daniel Stone 65cd5aa4d7 kdrive/input: remove unnecessary #ifdef XINPUTs
Xi is now mandatory, so don't bother with the ifdefs.
2006-10-25 01:12:45 +03:00
Daniel Stone b9e180e632 port all users to the new DIX motion history API
Port KDrive, Xvfb, and Xnest, as well as the virtual core devices, to the
new motion history API.  Make GetPointerEvents also update the history.
2006-10-25 01:09:19 +03:00
Daniel Stone a7c2d9a15d kdrive: numerous warning fixes 2006-10-23 06:08:27 +03:00
Daniel Stone 523fe64ba1 kdrive/lots of DDXes: make stubs use KdOsAddInputDrivers()
In theory, removing LinuxPciScan should make these drivers OS-independent.
2006-10-23 02:56:28 +03:00
Daniel Stone 57f98e2b72 kdrive/tslib: port to new absolute API, remove debugging
Port to new absolute device (not touchscreen) API, and remove some
leftover debugging.
2006-10-23 02:55:41 +03:00
Daniel Stone a6dc629052 kdrive/os: add KdOsAddInputDrivers
Add KdOsAddInputDrivers, which adds all relevant input drivers.

Could possibly be refactored to KdAddInputDrivers, which called through
OsFuncs to a new function, if it existed.
2006-10-23 02:54:59 +03:00
Daniel Stone ac240b00ff kdrive/input: use Absolute instead of Touchscreen
Adjust to suit Zepheniah's new absolute device API.
2006-10-23 02:54:07 +03:00
Daniel Stone b1ba4b3e8a kdrive/neomagic: include vesa.h, use DebugF 2006-10-23 02:53:15 +03:00
Daniel Stone f08b6b2367 kdrive: change DEVICE_TOUCHSCREEN to DEVICE_ABS_{CALIB,AREA} 2006-10-22 12:30:02 +03:00
Daniel Stone aeba855b07 move keymap copy to event processing, from enqueuing
Move the keymap copying to event processing time (in
ProcessInputEvents), instead of being at event enqueuing time.
Break SetCore{Pointer,Keyboard} out into separate functions.
Change mieqEnqueue to take a device pointer, that asks for the
_original_ device associated with this event.
2006-10-20 00:43:11 +03:00
Daniel Stone 58314756ae GetPointerEvents: add first_valuator parameter
Add a first_valuator parameter.  Looks correct by inspection, but untested
with first_valuator != 0 as yet.
2006-10-08 16:18:05 +03:00
Daniel Stone 8d8e7f8bae kdrive/input: remove excessive debugging in NIDR 2006-10-08 15:26:54 +03:00
Daniel Stone ad631afcf3 make core keyboard/pointer map functions act on all core-sending devices
Make Set{Keyboard,Modifier,Pointer}Mapping act on all devices which send core
events.
Change LegalModifier to accept a DeviceIntPtr.
2006-09-29 00:34:23 +03:00
Daniel Stone 5e9d33fe87 Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into input-hotplug 2006-09-07 15:43:31 +03:00
Matthew Allum 69d5becce4 Fix previous commit breaking other kdrives pulling in fbdev.a 2006-08-31 17:30:24 +01:00
Matthew Allum fd609956f2 Add framebuffer device command line switch for Xfbdev 2006-08-31 17:18:57 +01:00
Matthew Allum 5ddbf4bcd4 Re-add support for tslib (1.0 release) and Xcalibrate extension. 2006-08-29 22:07:15 +01:00
Daniel Stone 393dc0a338 kdrive: remove @KDRIVE_LIBS@ from Xfoo_DEPENDENCIES 2006-08-29 22:53:54 +03:00
Daniel Stone 89d272bb18 [PATCH] kdrive/linux keyboard: remove more debugging spew 2006-08-29 15:18:25 +03:00
Daniel Stone bd6f539ff9 [PATCH] kdrive/linux keyboard: silence excessive debugging noise 2006-08-29 15:18:23 +03:00
Daniel Stone f9624e0109 kdrive/input: verify SIGIO with --enable-debug 2006-08-17 16:09:51 +03:00
Daniel Stone 5d073697ad kdrive/input: minor warning cleanups
And also a compiler error fix when VERIFY_SIGIO is defined.
2006-08-15 15:37:10 +03:00
Daniel Stone 47c1c948e6 kdrive/input: only run special key behaviours on non-XKB
Only attempt to manually deal with special key behaviours (e.g. terminating
the server) when not using XKB, and leave locking behaviour up to GKVE.
2006-08-15 15:25:16 +03:00
Daniel Stone cec284f2b3 kdrive: properly ifdef composite enabling 2006-08-10 18:03:58 +03:00
Daniel Stone 539d1f3347 GKVE/GPE: have DDX allocate events
Don't allocate events on every GKE/GKVE/GPE call, just have the DDX manage
it instead.  Introduce GetMaximumEventsNum(), which is the maximum number
of events these functions will ever produce.
2006-08-10 14:00:14 +03:00
Daniel Stone 4be9abb850 kdrive: remove ddx_DEPENDENCIES
Remove foo_DEPENDENCIES as they weren't guaranteed to just be libs,
and loader arguments (-lfoo, -Lfoo) might've crept in.
2006-08-09 07:20:16 +03:00
Daniel Stone bedc4ecf23 xephyr: aid input debugging
Add the 'ephyr' mouse and keyboard drivers to the driver list so we can
re-add devices.
Set the names properly in Ephyr{Keyboard,Mouse}Init, not in InitInput.
2006-08-07 23:00:45 +03:00
Daniel Stone baf93b3abe kdrive: move map initialisation to KdNewPointer
Do a linear n -> n initialisation on the map up until KD_MAX_BUTTON in
KdNewPointer, moving it out of both KdParsePointer, and KdPointerProc.
Also remove dead pointer acceleration code.
2006-08-07 21:12:45 +03:00
Daniel Stone ccb53340b6 ephyr: cleanup
Remove extraneous KdAddPointerDriver call.
2006-08-07 21:12:00 +03:00
Daniel Stone 9b7ecbd1dd kdrive: prevent overrun in map
We actually need n + 1 elements for the mouse button map, not n.
2006-08-07 21:09:32 +03:00
Daniel Stone eb6e8d4042 kdrive: increase maximum number of buttons
Increase KD_MAX_BUTTONS to 32.
2006-08-07 21:05:37 +03:00
Daniel Stone 98fdf874ee move all autorepeat logic to DIX
Move core autorepeat logic for keyboards down to the DIX, remove it from
KDrive.
2006-08-07 16:51:39 +03:00
Daniel Stone c85e64cba1 Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into input-hotplug 2006-08-07 15:54:55 +03:00
Daniel Stone 997ba45b19 fix incorrect button test
Test for n (1..nButtons) being under nButtons, not button (1..(1<<nButtons)).
2006-08-04 11:18:16 +03:00
Matthew Allum 39169fd373 Back out 'mystery' spurious host window hints. 2006-08-01 13:39:22 +01:00
Daniel Stone eb7733a48a kdrive: drop excessive NewInputDeviceRequest debugging 2006-07-26 11:28:45 +03:00
Daniel Stone 4ea475924c re-add OpenedHand copyright
Ae-add OpenedHand copyright, accidentally dropped in KDrive new world
order patch.  Sorry guys.
2006-07-25 20:00:48 +03:00
Daniel Stone 7465010d59 Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into input-hotplug 2006-07-21 19:05:41 -04:00
Daniel Stone 1d31ed7782 xephyr: load keysyms at init, not enable
Load keysyms at init time, not enable, so we don't get the wrong map width.
2006-07-21 19:02:52 -04:00
Adam Jackson 0aaac95b0d Remove RCS tags. Fix Xprint makefile braindamage. 2006-07-21 17:56:00 -04:00
Daniel Stone 7711c56d2e xephyr: fix keymap, pointer; dix: fix multiple axes
Initialise our axes properly in the DIX, and make sure we don't
unnecessarily clip maxval when it's not set.
Fix keymap copying in Xephyr (to some degree: it's still broken),
and set nAxes and nButtons properly.
2006-07-21 15:19:54 -04:00
Daniel Stone f18c3122a5 sanitise debug output
Don't spit out huge chunks of pointless ephemera, especially without
--enable-debug.
2006-07-21 15:19:54 -04:00
Daniel Stone 463e0fe35b update KDrive to new input API
Update KDrive to fit the new API (mieqInit and InitPointerDeviceStruct), and
include InitTouchscreenDeviceStruct in the DIX.
2006-07-21 15:19:54 -04:00
Daniel Stone 02d0910511 new KDrive input world order
Convert KDrive to GPE/GKE interface.
Add first-class drivers and enumerate every device separately through
Xi, instead of lamely attempting to aggregate them.
Add XKB support to the Linux keyboard driver.
Add 'thumb button' support to the tslib driver.
Rejig InitInput, so each DDX has to add a list of drivers it supports.
Support NewInputDeviceRequest, et al.
2006-07-21 15:19:51 -04:00
Daniel Stone 27df2eda79 fix KdXvCopyPackedData to actually work
Remove extraneous bit shift in KdXvCopyPackedData, so it's actually
useful.
2006-07-21 15:17:35 -04:00
Matthew Allum 90a9b82272 Fix crash in Xephyr when running on host X with keymap width < 4 ( i.e xvnc ) 2006-07-08 21:57:07 +01:00
Matthew Allum e805621894 Add support to Xephyr for simulating 8bit grayscale. 2006-07-08 21:10:58 +01:00
Daniel Stone a73e0f8cdf Die XTESTEXT1, die! 2006-06-01 18:47:47 +00:00
Daniel Stone fd8bde8bb0 Remove -xkbmap argument. 2006-05-29 11:14:03 +00:00
Alan Coopersmith b46d6a44fa Make Xephyr build on Solaris:
Add #include <sys/file.h> on Solaris for FNONBLOCK/FASYNC definitions
hw/kdriver/linux/Makefile.am Move agp.c & agp.h to KDRIVE_HW_SOURCES since
    they're not needed for Xephyr-only builds
Add -lrt to XEPHYR_LIBS if needed to get nanosleep().
2006-05-03 23:45:16 +00:00
Adam Jackson 291e89d4f2 Remove NEED_LINEHELPER BC cruft for pre-R6 DDXes. 2006-04-30 19:16:14 +00:00
Eric Anholt 3d4ca57b69 Add a helper for the Component Alpha Over case, which breaks the operation
down into an OutReverse and an Add. Turn off the fallback to software
    glyphs when component alpha, now that we expect all (new) drivers to be
    able to support it. Also, make Xephyr fall back in the CA Over case to
    exercise this code. This speeds up my rgb24text and ls -lR in
    gnome-terminal by a factor of 5.
2006-04-26 18:27:40 +00:00
Eric Anholt 074dc9a023 Add an option to verify at the point of migration that pixmaps which aren't
marked dirty are in fact not dirty. This will hopefully help catch
    issues like the previous commit. Leave it on in fakexa.
2006-04-25 16:47:23 +00:00
Eric Anholt c947d796aa Missed in previous commit: Add a new migration scheme, called "Smart" for
lack of a better name. This one behaves somewhat between Greedy and
    Always. It moves in if we can accelerate, unless the destination is
    clean and shouldn't be kept in framebuffer according to the score, in
    which case we migrate out (and force-migrate anything where migration
    is free). This should help fix lack of acceleration for drivers without
    UTS since removing exaAsyncPixmapGCOps, and has removed one performance
    trap with Radeon I'd noticed. It is the new default.
2006-04-18 19:18:43 +00:00
Donnie Berkholz ba632f697a Fix kdrive build by linking in libexa before KDRIVE_LIBS. 2006-04-17 07:10:31 +00:00
Adam Jackson b2097b99a2 ../stub 2006-04-02 21:45:03 +00:00
Eric Anholt ccca76b808 Clean up warnings and a debug printf. 2006-04-01 23:41:23 +00:00
Eric Anholt 2e38fedd29 Add an option to EXA for the DDX to request that EXA hide the pixmap's
devPrivate.ptr when pointing at offscreen memory, outside of
    exaPrepare/FinishAccess(). This was used with fakexa to find (by NULL
    dereference) many instances of un-Prepared CPU access to the
    framebuffer:
- GC tiles used in several ops when fillStyle == FillTiled were never
    Prepared.
- Migration could lead to un-Prepared access to mask data in render's
    Trapezoids and Triangles
- PutImage's UploadToScreen failure fallback failed to Prepare.
2006-03-31 19:41:28 +00:00
Eric Anholt 5c04610f8a Add a dependency on EXA, so it rebuilds when the library does. The manual
indicated I shouldn't do this, but experience indicates I should.
2006-03-30 21:21:59 +00:00
Eric Anholt 3cf46cc1e3 Add an UploadToScreen implementation, for testing PutImage support, and
make the DownloadFromScreen more robust.
2006-03-30 05:15:58 +00:00
Eric Anholt 4bb5ab0b44 Add a DownloadFromScreen implementation, used for testing GetImage
acceleration, and set the migration scheme to Always on init (since
    this is all for testing, and Always should make migration happen more
    frequently than Greedy).
2006-03-29 22:03:18 +00:00
Eric Anholt d695579848 If fakexa is enabled, create a larger buffer in the Ximage, but keep the
same width/height for front-buffer drawing. The fakexa code then uses
    this extra space for offscreen pixmaps. Note that this tones down the
    absurdity of fakexa's offscreen pixmap alignment requirements (odd
    alignment is too weird, so stick with "24", which is still strange but
    exists out there). It also fixes a couple of bugs in the fakexa
    implementation revealed by using offscreen pixmaps.
2006-03-10 21:36:24 +00:00
Eric Anholt 2822cbc1fb Rearrange EXA driver structures so that there's a hope of maintaining ABI
when extending the driver interface. The card and accel structures are
    merged into the ExaDriverRec, which is to be allocated using
    exaDriverAlloc(). The driver structure also grows exa_major and
    exa_minor, which drivers fill in and have checked by EXA
    (double-checking that the driver really did check that the EXA version
    was correct). Removes exaInitCard(), which is replaced by the driver
    filling in the rec by hand, and the exaGetVersion() and related
    EXA_*VERSION which are replaced by always using the XFree86 loadable
    module versioning.
2006-03-09 06:04:07 +00:00
Eric Anholt b7d2dfc1e5 Add appropriate MIT license. Oops. 2006-03-07 20:06:15 +00:00
Eric Anholt 9d8c0e4bcb Add a new flag to ephyr, "-fakexa", which turns on an EXA acceleration
implementation that calls fb to get its work done. The purpose is to
    have a trusted EXA driver for use with testing changes to the core of
    EXA. However, fakexa has not received much testing yet, lacks offscreen
    pixmaps support, and doesn't reliably provide garbage when EXA doesn't
    get its syncing right. All of these should be fixed soon.
2006-03-07 19:57:46 +00:00
Keith Packard 8987b2c1ef Make more extensions optional in build (for kdrive). Fix kdrive build for
actual hardware. Fix kdrive pointer signed/unsigned types. Add
    kdrive-required YX rotation functions. Replace rgb text file loading
    with static rgb color table.
2006-02-16 07:17:31 +00:00
Eric Anholt 50e2ff9a25 Remove the waitSync from KdDisableScreen and push it off to drivers'
disableAccel hook, which is more correct anyway. This makes kdrive.c
    not have any knowledge of kaa, opening the way for using exa from
    kdrive.
2006-02-15 03:20:55 +00:00
Benjamin Herrenschmidt 2dc7b5e0d9 Move call to xf86WrapperInit() to OsVendorInit() in xf86Init.c and remove
stubs in other DDX.
2006-02-13 04:43:40 +00:00
Eric Anholt 5f45776ef3 Add missing HAVE_DIX_CONFIG_H which caused issues with mismatched screen
structure interpretations, and remove a bunch of unused junk from
    kdrive-config.h. Xephyr almost works on my amd64.
2006-02-12 10:30:47 +00:00
Eric Anholt 4fafba61d5 Remove libcwrapper damage from GLX (requires fresh Mesa HEAD), and get it
compiling in kdrive.
2006-02-11 03:03:45 +00:00
Eric Anholt a8cec1b656 Merge from kdrive: use RECT_PRIM to avoid tearing in xvideo. 2006-02-10 09:00:02 +00:00
Eric Anholt efc3fab7f4 Make kdrive (i.e. Xephyr only) buildable on FreeBSD and probably other OSes
without linux VT switching, fbdev, and vm86 support.
2006-02-10 07:52:05 +00:00
Daniel Stone 2949c705f1 Add all subdirs used to DIST_SUBDIRS, and files to EXTRA_DIST.
Attempt to build xeglmodule.c, not xglxmodule.c.
Add xf86Sbus.h to EXTRA_DIST, as _HEADERS doesn't appear to get the same
    treatment as _SOURCES in terms of automatically DISTing.
2006-01-10 03:23:05 +00:00
Adam Jackson 49a9249239 Make kdInputMachine static const, shrinks .data a bit. 2005-12-29 21:11:41 +00:00
Adam Jackson 05c139d4cd Enough build fixes to get {sdl,ephyr,fake} to link. 2005-12-28 10:02:54 +00:00
Adam Jackson 27d79ab2bc s/XSERVER/KDRIVE/ 2005-12-27 23:03:15 +00:00
Adam Jackson 72817714a0 Remove Imakefiles. 2005-12-27 23:01:27 +00:00
Adam Jackson 7fd73d2953 Build fixes: XSERVER_LIBS -> KDRIVE_LIBS, config.h -> kdrive-config.h 2005-12-27 08:29:50 +00:00
Keith Packard a11ce76b06 Build with modular X.org libraries and headers.
composite/compwindow.c Don't damage unmoved windows. Let border clip reset
    leave damage alone, pending actual damage for painting.
2005-08-08 06:25:21 +00:00
Matthew Allum 4220a0c4cc Make Xephyr work without shadow fb 2005-08-05 09:08:32 +00:00
Damien Ciabrini 4047191124 Added hardware support for transformation matrix (zoom, rotation, etc...).
Fixed the composition function for RGB and A8 format. Avoid syncing
    hardware after HW fills or copies.
2005-07-06 15:34:22 +00:00
Damien Ciabrini c48f631cdb Fix offset alignment code in the offscreen memory allocator to prevent
textures from being allocated in the next free memory area.
2005-07-06 13:57:41 +00:00
Matthew Allum 0929f79c1b Another Xephyr focus/modifier fix 2005-06-30 13:39:00 +00:00
Lars Knoll d8a98454e3 Add support for gradients and solid fills to Render.
Changed the semantics of the Convolution filter a bit. It now doesn't try
    to normalize the filter values but leaves this to the client. This
    gives more reasonable behaviour in the limit where the filter
    parameters sum up to 0.
2005-06-29 11:57:16 +00:00
Matthew Allum 5620122206 Fix issues with focus in and modifiers from host confusing Xephr 2005-06-23 16:50:07 +00:00
Matthew Allum a668b6c11a redo tslib 2005-06-23 16:34:07 +00:00
David Reveman 2eab094816 Build fixes 2005-06-13 16:38:06 +00:00
Eric Anholt d24ed90547 Axe a few dead fields from the port priv struct and add my name to the
"Copyright" line of the license to ati_video.c that already has my name
    in the text.
2005-06-10 02:14:44 +00:00
Eric Anholt 75065f3a54 Perform a warnings sweep on hw/kdrive. A number of these were my fault, but
some come from others.
2005-06-09 23:22:55 +00:00