Commit Graph

284 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
Daniel Stone
eb7733a48a kdrive: drop excessive NewInputDeviceRequest debugging 2006-07-26 11:28:45 +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
Adam Jackson
0aaac95b0d Remove RCS tags. Fix Xprint makefile braindamage. 2006-07-21 17:56:00 -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
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
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
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
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
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
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
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
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
Eric Anholt
545c082cf9 - Replace the syncAccel hook in the kdrive structure with a pair of hooks
in the kaa structure: markSync and waitMarker. The first, if set,
    returns a hardware-dependent marker number which can then be waited for
    with waitMarker. If markSync is absent (which is the case on all
    drivers currently), waitMarker must wait for idle on any given marker
    number. The intention is to allow for more parallelism when we get
    downloading from framebuffer, or more fine-grained idling.
- Replace the KdMarkSync/KdCheckSync functions with kaaMarkSync and
    kaaWaitSync. These will need to be refined when KAA starts being smart
    about using them. Merge kpict.c into kasync.c since kasyn.c has all the
    rest of these fallback funcs.
- Restructure all drivers to initialize a KaaInfo structure by hand rather
    than statically in dubious order.
- Whack the i810 driver into shape in hopes that it'll work after this
    change (it certainly wouldn't have before this). Doesn't support my
    i845 though.
- Make a new KXV helper to avoid duplicated code to fill the region with
    the necessary color key. Use it in i810 and mach64 (tested).
2005-06-09 10:44:45 +00:00
Keith Packard
b4b27e9eaa Force DPMS normal on screen enable
Add placeholder for bit used to redirect input
Add macrovision register defines
2005-02-28 20:45:15 +00:00
Keith Packard
db2c83551c hw/kdrive/ati/radeon_composite.c Support linear filtering
Change how touch screens work -- make them just another 'mouse' device. Add
    unfinished (and unused) code to accelerate tiled fills.
2005-02-08 22:43:54 +00:00
Eric Anholt
6eaca06dac Fix a leak of a region when the driver's CheckComposite fails. 2005-01-25 01:40:18 +00:00
Keith Packard
d7263b11f0 Reinitialize offscreen memory before enabling cursor on VT switch-to 2005-01-20 20:51:27 +00:00
Phil Blundell
36d9e01c0d New global variable. (KdProcessArgument): Set it to TRUE on -nozap switch.
(KdUseMsg): Add help for -nozap and -rgba switches.
Declare.
Honour dontZap flag.
2004-11-13 16:41:00 +00:00
Phil Blundell
258c9016a0 Block SIGIO before disabling input fds. (KdEnableInput): Unblock it after
enabling them again.
2004-10-20 18:02:32 +00:00
Eric Anholt
396100dd23 - Don't require Imrecise mode for Trapezoid acceleration. It looks like we
might be able to do Precise in hardware, so leave it up to the driver.
- Add a helper function for computing a set of offsets for smooth trapezoid
    rasterizing using many sharp trapezoids.
2004-09-11 09:23:12 +00:00
Eric Anholt
6ec9ecd591 Add a set of three hooks for accelerating trapezoids, and use it for the
RasterizeTrapezoid screen function. These hooks will be called for
    imprecise, non-sharp trapezoids with A8 destinations.
Note that the current main consumer of trapezoids, cairo, is requesting
    precise, sharp trapezoids by not changing the default Picture
    attributes, but gets non-sharp effects in software because fb bases its
    choice of sharp/non-sharp on the mask format being A8 vs A1, and cairo
    asks for A8. Follow fb's (poor?) example by ignoring the sharp setting
    and basing the choice off of the mask being A8.
2004-08-30 22:16:46 +00:00
Eric Anholt
ccaf332ce3 Rather than initially place pixmaps in framebuffer based on a size
heuristic, delay the decision until the first
    kaaPixmapUse{Screen|Memory}, and put it in framebuffer if UseScreen was
    called. Provides a significant improvement in cairo speeds (100%
    speedup in cairogears here) and is likely to improve text performance
    as well.
2004-08-30 16:43:10 +00:00
Keith Packard
f15f881727 Eliminate bogus rate check in fbdevModeSupported. Hmm. Potentially bogus
rate selection necessary for Mac fbdev
Don't know about fb changes to pixmaps, so can't track dirt.
Add Mac specific 1280x854 mode. Warn when requested mode isn't found.
Add ability to soft-boot video cards.
Add region expand request. FIXME: need test cases
2004-07-26 17:14:27 +00:00
Eric Anholt
aeb78eaa98 Commit the rest of the dirty optimization from 20040703 and add a missing
header include. I don't know how this happened, but I'm going to blame
    a "few" fscks having happened between testing the code and committing
    (due to other driver changes that made me not blame dirty for the
    failures I saw) for disappearance of kasync.c changes. Fixes a lot of
    corruption.
2004-07-08 08:21:25 +00:00
Eric Anholt
b467673528 Remove duplicate protos in kdrive.h. 2004-07-08 06:57:58 +00:00
Carlos Romero
f96ef08d48 Initial kdrive XKB/XINPUT support, use --enable-xkb --enable-xinput 2004-07-07 19:21:07 +00:00
Eric Anholt
0207015669 Add a "dirty" flag to the pixmap private. Clear it when setting up an
offscreen pixmap area, and set it when any rendering occurs. When
    moving a pixmap out of offscreen, don't read data back if it wasn't
    dirtied (compared to the system memory copy).
2004-07-03 09:16:30 +00:00
Eric Anholt
d5db59bd79 Add an offscreen area scoring to improve choosing offscreen areas to kick
out when allocation can't find a free area of the requested size. When
    offscreen pixmaps get used, the offscreen area's score is increased by
    a constant value. Every certain number of increases, all offscreen area
    scores get decreased by a fraction. When choosing a set of areas to
    remove for a new allocation, the set of areas with the smallest total
    score is chosen for removal. While this is not the smartest system, it
    prevents things like always removing the first offscreen area in memory
    (likely the most recent) to be kicked out when doing replacing.
2004-06-29 20:37:51 +00:00
Eric Anholt
4ffde8a6b3 - Pass the right pixel mask (all ones) in to PrepareSolid in the
solid-fill-based composite acceleration.
- Use a real pixmap when doing an UploadToScratch (For pDrawable->type ==
    DRAWABLE_WINDOW, you need to get the backing pixmap).
- Pass back the x/y offsets from kaaGetOffscreenPixmap unconditionally,
    because they'll be used in the scratch case.
- Turn on the Render acceleration for Rage 128 and Radeon 100-series at
    last!
2004-06-10 19:22:58 +00:00
Keith Packard
f8a1dd3ce7 Add top-level build support for GL X server (not working yet)
Fix a few allocation bugs with alternate visual ids Allow for non-8/8/8
    alternate visuals
Turn off any existing shadow before enabling it again (avoids
    re-registering existing damage)
Add some validation code to catch re-registered damages
2004-06-04 16:10:50 +00:00
Keith Packard
932efe8e6d Allow for multiple composite-based visuals, then add an RGB24 visual in
addition to the ARGB32 one. This allows 'glitz' to run on top of any X
    server using mesa.
Switch to using 32bpp for depth 24 pixmaps (even when the frame buffer is
    not depth 24).
2004-05-21 03:32:27 +00:00
Keith Packard
b9d920f3dc Fix SYNC_ALWAYS (debugging) code to use mach64WaitIdle instead of
KdCheckSync -- the boolean used in the latter won't be set yet.
Oops. == instead of =.
Must sync hardware before rasterizing trapezoids in case the mask is in
    off-screen memory and has just been erased. Yes, it is silly to place
    masks in off-screen memory. That's a separate issue.
2004-05-20 05:27:03 +00:00
Keith Packard
94648799c8 Pin header-only pixmaps in memory.
Off-screen reallocation could have used a stale pointer.
Separate framebuffer mapping computation from actual frame buffer mapping.
    Now map the frame buffer from vesaEnable so that VT switch shares the
    same mapping code. This makes sure any shadow framebuffer is allocated
    again.
2004-05-20 02:42:20 +00:00
Eric Anholt
834537e212 Make kaaMoveInPixmap public. This will be used by the ATI driver's xvideo
support to ensure that the destination is in framebuffer.
2004-05-17 07:19:49 +00:00
Eric Anholt
85f46e0bcd Add new CheckComposite hook. This allows a driver to avoid the migration of
pixmaps for a Composite operation if the operation can't be supported.
    This hook is optional.
2004-05-17 07:14:23 +00:00
Eric Anholt
74b2a76947 Add new flag, KAA_OFFSCREEN_ALIGN_POT, which tells KAA to align pixmap
pitches to a power-of-two number of bytes. Useful for Render
    acceleration on older cards.
2004-05-14 00:34:28 +00:00
Eric Anholt
2bea33e881 Don't let the visible screen get "migrated" offscreen, which manifests
itself as a hang.
Reported by: Ginokas <ginokas@free.fr>
2004-05-14 00:27:29 +00:00
Eric Anholt
40354e7618 Add generic functions for copying packed/planar XV data, copied from
mach64.
2004-05-13 22:57:15 +00:00
Eric Anholt
2e330e980f Move fourcc.h to a generic location in src/. 2004-05-13 21:41:48 +00:00
Warren Turkal
a27ffd2678 completely get rid of NeedNestedPrototypes
completely get rid of NeedVarargsPrototypes
remove a lot of NeedFunctionPrototypes
ansify many function declarations
2004-02-18 02:12:44 +00:00
Warren Turkal
b146ef1548 Moving toward a working input extension. 2004-02-15 15:04:57 +00:00
Jaymz Julian
bd20c8d340 Polling input mode for the kdrive os layer. And a moose! 2004-02-05 09:09:51 +00:00
Jaymz Julian
af798d2774 More NULL checks. These ones are more useful than the last (which just made
debugging a bunch of problems easier), since you can implement less in
    the basic simplest case driver now (not that i'm lazy, mind :-p)
2004-02-04 16:08:27 +00:00
Anders Carlsson
a265167f19 Add IPAQ modeline by Dennis Noordsij. 2004-01-14 10:00:00 +00:00
Eric Anholt
5d51dfc69c Use the scratch area for Composite when one of src or dst is in memory. 2004-01-09 08:40:32 +00:00
Eric Anholt
b27729ec88 - Add a new UploadToScratch kaa hook for putting the data for a single
pixmap into temporary offscreen storage. Subsequent UploadToScratch may
    clobber the data of previous ones. This allows hardware acceleration of
    composite operations on glyphs.
- Add a new UploadToScreen kaa hook for doing the actual moving of data to
    framebuffer. This would allow us to do things like hostdata blits or
    memcpy to agp and then blit.
- Add an UploadToScreen on ATI which is just memcpy, but which will be
    replaced with a hostdata blit soon.
- Add UploadToScratch on ATI and reserve 64k of scratch space. This
    provided a 3x speedup of rgb24text on my Radeon.
2004-01-08 08:16:24 +00:00
Eric Anholt
cff782078c - Don't forget to UNINIT miComputeCompositeRegion's regions
- Fix a bit of whitespace nearby.
2004-01-04 20:51:53 +00:00
Eric Anholt
9f1a92cd09 - Call appropriate Done function for Composite.
- Don't allow src transforms for Copy acceleration.
- Minor whitespace fixes.
2004-01-03 21:52:14 +00:00
Eric Anholt
d15acfa79b Split the various attempts at accelerating Composite into separate
functions. Along with making things more readable, it fixes a problem
    where the coordinates would get messed up if acceleration failed due to
    things like pixmaps being in the wrong locations.
2004-01-03 11:25:27 +00:00
Eric Anholt
1e1a35e20c Actually align the offset of allocated offscreen areas. 2004-01-03 11:17:44 +00:00
Eric Anholt
c8eb20a08e - Add new Composite hook for kdrive drivers, which only ensures that the
pixmaps are offscreen and don't have alpha maps. It is the last case
    checked before going to software fallback
- Use the new Composite hook in the ati driver to implement acceleration of
    most Composites that get done in an xcompmgr environment on r100 series
    cards. It is only available when using the DRM. There are still some
    corruption issues, but the DRI is still non-default and I need to get
    this into version control.
2003-12-30 08:23:56 +00:00
Eric Anholt
df03e80ae9 Merge dri-0-1-branch to trunk. Notable changes:
- Add libdrm and libdri. Portions of the DRI extension are stubbed out.
- Use the DRM in the ATI driver when available. This provides a minor
    performance improvement in x11perf, and opens the possibility of using
    the 3d hardware for acceleration in the future.
- Implement solid fill acceleration for Composite in KAA.
- Implement Blend hook for Composite and use it on r128.
- Fix a bug of mine that resulted in overuse of offscreen memory.
- Fix many miscellaneous bugs in ATI driver and add PCI IDs.
2003-12-29 06:24:01 +00:00
Eric Anholt
9cdd6fd9e3 - Add fbdev mode-setting backend to Xati. It and vesa are compiled in when
available, with fbdev being used by default.
- Use depth 16 by default when vesa backend is used.
- Add MMIO defines for PowerPC (should be in a common location).
Many thanks for Michel Daenzer for much of this code.
2003-12-01 04:33:36 +00:00
Eric Anholt
d221c484f9 Remove sys/io.h inclusion from some files that didn't need it, and change
asm/io.h to sys/io.h in vga.c, which newer Linux complains about.
2003-12-01 01:46:42 +00:00
Eric Anholt
b3247251fb - Fix a bug in pitch alignment for offscren pixmaps.
- Add 24-bit acceleration for Xati using the 8-bit trick from mach64.
- Add offscreen pixmap support to Xati.
2003-11-20 07:49:46 +00:00
Eric Anholt
7abbcce422 - Add PCI information (device/vendor id, bus location) to KdCardAttr to
help with ati, and future DRM drivers.
- Add new "ati" kdrive driver. It has ancestry in the r128 driver from
    andersca, but took a detour through being the WIP SiS 300 driver on the
    way. It supports Radeons (tested on QD VIVO and 7500) and Rage 128.
    Current limitations include that it requires depth 16 and that the
    other Rage 128 PCI IDs aren't included yet.
2003-11-19 08:32:38 +00:00
Keith Packard
e9cb70dae0 Reset available offscreen segment save function pointer. (Not a functional
change, just cleaning up a bit)
Reset the screen->memory_base value when frame buffer is remapped. This
    makes sure new off-screen allocations point at the newly mapped region
    rather than the old (now unmapped) region.
2003-11-18 18:38:48 +00:00
Seth W. Klein
f333581b7b Added infrastructure for driver specific usage messages and added vesa
usage message.
2003-11-18 04:53:16 +00:00
Keith Packard
003e87717c Recompute winSize/borderSize to fix them when changing redirection.
Sufficient, but not always necessary.
Add borderClip to damage on creation so that clients needn't guess.
Fix API to FbDots functions to make PolyPoint work with screen_x/screen_y
    offsets
Add debugging code to make sure no pictures are left pointing at freed
    pixmaps. "Can't" happen, but it did once.
Change KdOffscreenArea structure to eliminate separate private structure,
    eliminate the ScreenPtr, change from doubly linked to singly linked
    list.
Don't damage BackgroundNone windows on PW_BACKGROUND. Re-clip damage to
    borderClip in DamageSubtract.
2003-11-17 22:09:12 +00:00
Keith Packard
cb6ef07bf0 Accelerated image text code drew glyphs at wrong location when compositing
manager enabled.
2003-11-14 07:46:20 +00:00
Eric Anholt
e9904cefa3 Fix Makefile.am's to include header files needed for distcheck. Remove
-Werror default and add --enable-werror switch to add it back.
2003-11-11 05:46:15 +00:00
Keith Packard
5dc119b73f Fix KdXv interface to pass drawable down so that bits can be put into
drawable pixmap rather than directly into the frame buffer. Rewrite
    logic in kdoffscreen to make space for new allocations, now deals
    correctly with locked areas.
2003-11-10 20:35:05 +00:00
Keith Packard
e500986657 Must offset composite parameters by drawable coordinates in accelerated
case.
2003-11-10 06:40:23 +00:00
Keith Packard
3e18c63634 Fix KAA to work with screen_x/screen_y hacks from COMPOSITE Also add
kaaComposite acceleration for simple bltblt case.
2003-11-08 00:28:19 +00:00
Keith Packard
7e1a564c41 Replace translucent compositing hacks with PictOpSrc to match eventual
extension semantics. Replace mouse acceleration with quadratic.
2003-11-05 06:46:13 +00:00
Keith Packard
5378236aa6 merge xfixes_2_branch back to HEAD 2003-11-02 19:56:10 +00:00
Keith Packard
9a05f8f785 Minor cleanups -- remove a couple of bogus KdCheckSync calls, restructure
KdOffscreenSwapOut to avoid unneeded 'continue'
2003-10-19 20:46:23 +00:00
Keith Packard
16b2ea64e7 Discard/reconstruct list of offscreen areas on VT switch so no allocations
can occur while switched away.
Set type of off_screen_areas member to actual type instead of pointer
2003-10-16 08:03:25 +00:00
Anders Carlsson
f4bcd36a38 Add a memory_base variable and use it. 2003-10-15 05:34:54 +00:00
Keith Packard
b3e47ce18f various Split out pixmap allocation debug statements Fix bogus offscreen
pixmap size test Add migration to composite function for source
    operands
VbeDPMS Remove extraneous call to VbeGetVib.
2003-10-15 01:00:38 +00:00
Keith Packard
cb46169759 Use same assumptions as layergc about what layer kind is approprate for
unwrapping pixmap operations. This makes sure the accelerated code gets
    invoked for pixmaps
Add pixmap migration support to kaa. Can't quite automatically migrate
    pixmaps off-screen, but soon we will. Can kick objects out of video
    memory. Move per-screen linked list pointers to pixmap private. Wrap
    Composite in preparation for migrating pixmaps. Have kasync ignore
    drawable type so that pixmaps trigger sync Add KdOffscreenFini to
    cleanup on server reset. Switch off screen area to have only a 'save'
    function; moving objects to off screen memory is done by saving then
    freeing the area.
2003-10-14 21:10:53 +00:00
Keith Packard
4b844cafb2 Check for off-screen pixmap support in KaaDrawableIsOffscreenPixmap. -Wall
fixes. Allocate pixmap private space only for screens with off-screen
    pixmap support
2003-10-14 05:07:39 +00:00
Anders Carlsson
44f2e82f1b Use pixmaps instead of drawables in the kaa functions. Have the mga server
support accelerated operations on offscreen pixmaps.
2003-10-13 02:19:47 +00:00
Anders Carlsson
47a9fab5e2 Add support for offscreen pixmaps. 2003-10-13 01:19:37 +00:00
Anders Carlsson
c538fa8742 Fix a couple of bugs. 2003-10-13 00:56:21 +00:00
Anders Carlsson
a50438b470 Add offscreen memory manager and update the servers to reflect the name
change for the kaa structure.
2003-10-13 00:19:58 +00:00
Anders Carlsson
307f3dbd10 Remove this for now. 2003-10-12 14:17:24 +00:00
Keith Packard
aae3e6dcb3 configure.ac Makefile.am os/oscolor.c Xext/saver.c Xext/Makefile.am
hw/kdrive/linux/ts.c hw/kdrive/src/Makefile.am hw/kdrive/src/kdrive.h
    hw/kdrive/src/kinput.c hw/kdrive/src/kmap.c Autodetect VM86 (for vesa),
    AGPGART, APM, MTRR, tslib and handhelds.org touch screen. Add
    USE_RGB_BUILTIN and code for fileless RGB database. Add
    MIT-SCREEN-SAVER
2003-10-04 02:43:16 +00:00
Keith Packard
5a21f4f4d0 Add XDM cookies. Fix up support for pkgconfig X bits 2003-10-01 06:43:50 +00:00
Keith Packard
a42384e935 Use other freedesktop.org packages to build the server 2003-09-29 01:42:40 +00:00
Anders Carlsson
6a098a88af Add beginnings of offscreen memory manager. 2003-09-24 23:36:54 +00:00
Keith Packard
918a8273ee hw/kdrive/src/kdrive.c
hw/kdrive/src/kdrive.h Add -switchCmd option to set command that is
    executed whenever the VT is enabled or disabled. This permits input
    device to be customized by external apps when switching to X.
2003-09-24 21:07:06 +00:00
Keith Packard
ce55d3234d Move kdrive common sources to src dir 2003-09-11 05:15:08 +00:00
Anders Carlsson
514ab46ce3 Start autoifying everything. 2003-09-11 00:47:36 +00:00
Keith Packard
283a7f32c4 Update RCS tags, fix keyboard hang on VT switch, fix scroll wheel mice, add
-rawcoord option to not transform mice on rotate, fix mtrr to use
    power-of-two size, add a few vesa options
2003-07-07 19:13:03 +00:00
Keith Packard
7827fce0b5 Allow input devices to be closed while the VT is switched away (needs
per-driver support)
2002-11-13 16:37:39 +00:00
Keith Packard
612e82053d Clean up touch screen hacks for controlling pointer on alternate screen 2002-11-05 05:28:34 +00:00
Keith Packard
f0a8d06fca Refix mouse matrix computation for touch screens. Update usage message for
-screen option
2002-10-31 18:29:50 +00:00
Keith Packard
28d191680e Uninitialized mouse matrix elements 2002-10-30 21:25:53 +00:00
Keith Packard
7d214e2e2a Fix additions of RandR support in kmode.c 2002-10-18 06:08:10 +00:00
Keith Packard
e1c304e22b Add refresh rates to RandR (v1.1) 2002-10-14 18:01:42 +00:00
Keith Packard
b5d1c53862 Add vtxx option to kdrive servers 2002-10-08 21:28:05 +00:00
Keith Packard
9373d9186b Fix mouse mapping under reflection 2002-10-04 01:44:20 +00:00
Keith Packard
a80e1e5aed Update kdrive servers to support reflection 2002-10-03 22:09:04 +00:00
Keith Packard
238a2ec201 Update RandR to 1.0 (library version 2.0) 2002-09-29 23:39:47 +00:00
Keith Packard
5d87199643 Add image transformation and sub-pixel ordering to Render 2002-09-26 02:56:48 +00:00
Egbert Eich
a2637ba1f6 319. Moved LdPreLib define after the vendor/OS specific config files as it
may depend on setting done there (Egbert Eich).
318. Several fixes for cross compile environment (Egbert Eich).
317. Added code to allow for building of static only libraries with
-fPIC for platforms which require it (Egbert Eich).
316. Added '-m32' to gcc flags as default for ia32 builds when gcc version
    is >= 3.1. This allows building a 32 bit Version of X on 64bit x86-64
    (Egbert Eich).
315. Changed direct calls of ld to 'gcc -nostdlib' for Linux (Egbert Eich).
314. Changed calls to as to 'gcc -c -x assembler-with-cpp' for Linux
    (Egbert Eich).
313. Added '-fno-strict-aliasing' flag to gcc version >= 3.1 (Egbert Eich).
    Strict requires that one address must not contain pointers to different
    types - a feature heavily used by X (Egbert Eich).
312. Fixed a core dump problem in libXtt (?) (Egbert Eich).
311. Removed '#pragma pack' from structures that contain function pointers
    in x86emu. This causes problems on gcc 3.1 for ia64 (Egbert Eich).
310. Added defines for missing X types to saverproto.h (Egbert Eich).
309. Fixed compiler warings generated by gcc >= 3.1 in mesa drivers (Egbert
    Eich).
308. For platforms that allow both 32 and 64 bit libraries to be executed
    split Xlib i18n modules path into
    <libpath>/X11R6/lib/X11/locale/lib/common and
    <libpath>/X11R6/lib/X11/locale/lib64/common. 'lib64' has been defined
    to be the default path for 64bit shared libraries on these platforms
    (Egbert Eich).
307. Fixed obvious typo in OMlib (Egbert Eich).
306. Fixed code in cfb that didn't comply with C sequence rules. Modern C
    compilers tend to be more aggressive on code reordering (Egbert Eich).
305. Changed arguments of NoopDDA() from VarArgs to void. Handling of
    VarArgs by gcc isn't compatible with the way it was used on certain
    platforms (Egbert Eich).
304. Added support for 32bit pixmaps for 24bit overlay framebuffers in fb
    overlay code (Egbert Eich).
303. Fixed kdrive to print a meaningful error message instead of just core
    dump when no matching graphics cards is found (Egbert Eich).
302. fixed portability bug in xwd (Andreas Schwab <schwab@suse.de>)
301. fixed X Server crash, which happended each time a proportional
    iso10646 font was loaded with xtt backend (Yong Li
    <rigel863@yahoo.com>)
300. Added some ARM specific fixes to compiler.h (Uli Hecht).
299. Added a virtual 'dummy' driver (Egbert Eich).
298. Fixed core dump when certain access functions are not set in xf86Bus.c
    (Egbert Eich).
297. Fixed problem where SIGIO could be disabled after a server reset.
296. Added configurable list of devices the xf86Misc extension is allowed
    to change the mouse device to (Egbert Eich).
295. Changed default mouse type to 'auto' when generating config file with
    '-configure' (Egbert Eich).
294. Made sure keyboard modifier settings are consistent after exit from
    DGA when the xkb extension is used (Egbert Eich).
293. Disabled keyboard processing when Xserver is suspended by power
    management. This allows effective locking of laptops when stolen
    (Egbert Eich).
292. Added/improved options for lockfile syncing (Egbert Eich).
291. Added support for backup copy of Xserver logfile (Egbert Eich).
290. Fixed GetTimeInMillis() to use deltas instead of absolute time
    returend by gettimeofday(). This ensures time is monotonic in X (Egbert
    Eich).
289. Fixed xf86Misc extension to allow modification of Expps2 mice (Egbert
    Eich).
288. Made code in xf86MiscExt.c more readable (Egbert Eich).
287. Fixed PCI CardBus bridge handling (Egbert Eich).
286. Added code to reenable PCI bus mastering after coming back from a VT
    switch to radeon driver (Charl P. Botha <http://cpbotha.net/>) (Egbert
    Eich).
285. Dito for r128 driver (M. Harris).
284. Dito for glint and mga driver (Egbert Eich).
283. Fixed double scan issues for low res modes in C&T driver (Egbert
    Eich).
282. Set rgbBits to 8 for all HiQV chips in chips driver (Egbert Eich).
281. Moved initialization of accel funtions past initialization of
    offscreen fb manager in chips driver (Egbert Eich).
280. Fixed initialization of video in chips driver (?).
279. Fixed HALlib problem restoring text mode on G550 (Egbert Eich).
278. Restructured and included Matrox's Merged Framebuffer changes to mga
    driver (Egbert Eich).
277. G450/550 clockchip programming fixes (Matrox).
276. Fixed HW Cursor for HALlib frame granularity (Egbert Eich).
275. Enabling 2D accel in 24-bit for neomagic 2360 and 2380 (Egbert Eich).
274. Added support for builtin 1024x480 mode of Sony subnotebooks for
    Neomagic driver (Egbert Eich).
273. Fixed support for lowRes (320x240) modes in neomagic driver (Egbert
    Eich).
272. Fixed RAC function registration in S3 driver (Egbert Eich).
271. Added some voodoo to screen initialization of S3 driver (Egbert Eich).
270. Fixed vbe/int10 support in SMI driver. It used to core dump when BIOS
    was not usable (Egbert Eich).
269. Separated BRIGHTNESS and and CAPTURE_BRIGNTESS video attributes in smi
    driver: CAPTURE_BRIGHTNESS refers to the capture chip (ie. Philips
    SAA7110) while BRIGHTNESS controls the video overlay of the SMI chip
    itself (Egbert Eich).
268. Disable automatic loading of DRI when running SUN ffb as this is
    inconsistent with other drivers (Thorsten Kukuk).
267. Fixed Gamma/Brightness code in trident driver (Egbert Eich).
266. Added FpDelay debugging option (Egbert Eich).
260. Fixed video support for Trident 9397 (Egbert Eich).
265. Fixed Cursor/VT switch support for vmware driver (Egbert Eich).
264. Fixed Blit problems in vmware driver when running KDE (Egbert Eich).
263. Added RENDER support to vmware driver (Egbert Eich).
262. Added C&T 69030 to extrapci.ids (Egbert Eich).
261. Improved mouse autodetection code (Egbert Eich).
260. Restructured int10 code so that vm86 and x86emu support can be loaded
    as modules. Implemented heuristic to try vm86 first and fall back to
    x86emu. This allows 32 bit Xservers to run on x86_64 on 64-bit kernel
    without vm86 support (Egbert Eich).
259. Restructured elf loader: determine which section to load from
    elfheader flags (Egbert Eich).
258. Adding RENDER Support to RAC (Egbert Eich).
257. Using borderClip instead of borderSize region for redisplay function
    in miext/shadow code to avoid core dumps when vt switched away (Egbert
    Eich).
256. Replacing sprintf() by snprintf() in lbxproxy to eliminate possible
    buffer overrun exploits (Egbert Eich).
255. KP_Decimal fixes to Czech and Slovak keybards (Jan Holesovsky
    <kendy@suse.cz>) (Egbert Eich).
2002-09-16 18:05:35 +00:00
Keith Packard
2698ee9f29 Prefer touchscreen to mouse 2002-08-15 18:07:57 +00:00
Keith Packard
cf49ce6f26 Allow both touchscreen and mouse at the same time 2002-08-02 16:15:02 +00:00
Keith Packard
6d8cedf68c update kdrive manual and usage 2002-02-14 16:08:05 +00:00
Keith Packard
3abb3e0739 kdrive: fix button emulation for iPAQ 2002-01-18 16:25:19 +00:00
Marc Aurele La France
2f2e256de7 DPMS warning fix 2001-10-29 16:34:56 +00:00
Keith Packard
28fd5f7525 kdrive: add new auto-detecting and auto-switching mouse driver 2001-10-12 06:33:12 +00:00
Keith Packard
5f310d7f8b kdrive: restructure APM/VT switch support to reset keyboard state and flush
buffer on APM resume
2001-09-29 04:16:39 +00:00
Keith Packard
bb2e1c53b5 hw/kdrive: Xv window private should be allocated on demand 2001-09-21 21:58:34 +00:00
David Dawes
f856b952ec 187. Add an MS mouse driver for KDrive (#4754, Juliusz Chroboczek). 2001-08-09 20:45:15 +00:00
Keith Packard
f4db75ac43 kdrive/mach64: support Xv under RandR 2001-08-09 09:08:55 +00:00
Keith Packard
628d7695d1 kdrive: disable sigio debugging 2001-08-09 09:06:08 +00:00
Keith Packard
958c0374a6 kdrive: add apm support, fix MTRR unmapping bug 2001-07-24 21:26:17 +00:00
Keith Packard
79486b3b5c Too many changes, but all in kdrive:
Add support for global screen origins (-origin option), handles both
    Xinerama and mouse crossings.
Fix XV enable/disable sequences -- can't use card wrappers as cards have
    more than one screen.
Change vesa/fbdev to use new depth-independent rotation shadow update
Fix vesa to allow starting rotation value (again)
Make vesa driver write all colormap changes in one INT10 call
2001-07-20 19:35:30 +00:00
Keith Packard
562474091a Fix TOUCHSCREEN support in kdrive 2001-07-11 02:58:19 +00:00
Keith Packard
67cd53abfc Rework kdrive input fd handling, enable multiple simultaneous mice 2001-06-29 14:00:41 +00:00
Keith Packard
c872ee8204 kdrive: typo in MTRR calculations 2001-06-29 13:57:45 +00:00
Keith Packard
63dd090655 kdrive: dont touch hardware when disabled 2001-06-29 13:55:53 +00:00
Keith Packard
93dbdc89c1 Add -dpi support to kdrive 2001-06-13 19:18:03 +00:00
Keith Packard
7fcf46356b Allow for hardware acceleration under RandR with Layer. Hardware/Software
cursor switching still busted
2001-06-04 09:45:42 +00:00
Keith Packard
88ae32841d Add mach64 driver to Tiny-X 2001-06-03 18:48:19 +00:00
Keith Packard
14ed0c3d6d Fix kaa to not try Copy for pixmap sources 2001-05-30 15:36:25 +00:00