Commit Graph

157 Commits

Author SHA1 Message Date
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