summaryrefslogtreecommitdiff
path: root/hw/kdrive/src/kaa.c
AgeCommit message (Collapse)AuthorFilesLines
2007-06-29Death to RCS tags.Adam Jackson1-2/+0
2006-04-30Remove NEED_LINEHELPER BC cruft for pre-R6 DDXes.Adam Jackson1-3/+0
2006-02-16Make more extensions optional in build (for kdrive). Fix kdrive build forKeith Packard1-1/+1
actual hardware. Fix kdrive pointer signed/unsigned types. Add kdrive-required YX rotation functions. Replace rgb text file loading with static rgb color table.
2005-12-27Build fixes: XSERVER_LIBS -> KDRIVE_LIBS, config.h -> kdrive-config.hAdam Jackson1-1/+1
2005-08-08Build with modular X.org libraries and headers.kdrive-initial-importKeith Packard1-1/+0
composite/compwindow.c Don't damage unmoved windows. Let border clip reset leave damage alone, pending actual damage for painting.
2005-06-09- Replace the syncAccel hook in the kdrive structure with a pair of hooksEric Anholt1-15/+40
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-02-08hw/kdrive/ati/radeon_composite.c Support linear filteringKeith Packard1-0/+71
Change how touch screens work -- make them just another 'mouse' device. Add unfinished (and unused) code to accelerate tiled fills.
2004-08-30Add a set of three hooks for accelerating trapezoids, and use it for theEric Anholt1-1/+3
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-30Rather than initially place pixmaps in framebuffer based on a sizeEric Anholt1-6/+9
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-07-26Eliminate bogus rate check in fbdevModeSupported. Hmm. Potentially bogusKeith Packard1-0/+2
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-03Add a "dirty" flag to the pixmap private. Clear it when setting up anEric Anholt1-4/+34
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-06-29Add an offscreen area scoring to improve choosing offscreen areas to kickEric Anholt1-0/+1
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-10- Pass the right pixel mask (all ones) in to PrepareSolid in theEric Anholt1-5/+4
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-05-20Fix SYNC_ALWAYS (debugging) code to use mach64WaitIdle instead ofKeith Packard1-1/+1
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-20Pin header-only pixmaps in memory.Keith Packard1-2/+15
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-17Make kaaMoveInPixmap public. This will be used by the ATI driver's xvideoEric Anholt1-1/+1
support to ensure that the destination is in framebuffer.
2004-05-14Add new flag, KAA_OFFSCREEN_ALIGN_POT, which tells KAA to align pixmapEric Anholt1-1/+18
pitches to a power-of-two number of bytes. Useful for Render acceleration on older cards.
2004-05-14Don't let the visible screen get "migrated" offscreen, which manifestsEric Anholt1-1/+1
itself as a hang. Reported by: Ginokas <ginokas@free.fr>
2004-01-08- Add a new UploadToScratch kaa hook for putting the data for a singleEric Anholt1-2/+10
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.
2003-12-29Merge dri-0-1-branch to trunk. Notable changes:Eric Anholt1-99/+13
- 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-11-20- Fix a bug in pitch alignment for offscren pixmaps.Eric Anholt1-2/+2
- Add 24-bit acceleration for Xati using the 8-bit trick from mach64. - Add offscreen pixmap support to Xati.
2003-11-17Recompute winSize/borderSize to fix them when changing redirection.Keith Packard1-4/+4
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-14Accelerated image text code drew glyphs at wrong location when compositingKeith Packard1-2/+2
manager enabled.
2003-11-10Must offset composite parameters by drawable coordinates in acceleratedKeith Packard1-0/+9
case.
2003-11-08Fix KAA to work with screen_x/screen_y hacks from COMPOSITE Also addKeith Packard1-26/+75
kaaComposite acceleration for simple bltblt case.
2003-11-02merge xfixes_2_branch back to HEADKeith Packard1-75/+98
2003-10-19Minor cleanups -- remove a couple of bogus KdCheckSync calls, restructureKeith Packard1-1/+0
KdOffscreenSwapOut to avoid unneeded 'continue'
2003-10-15Add a memory_base variable and use it.Anders Carlsson1-2/+2
2003-10-15various Split out pixmap allocation debug statements Fix bogus offscreenKeith Packard1-7/+10
pixmap size test Add migration to composite function for source operands VbeDPMS Remove extraneous call to VbeGetVib.
2003-10-14Use same assumptions as layergc about what layer kind is approprate forKeith Packard1-131/+213
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-14Check for off-screen pixmap support in KaaDrawableIsOffscreenPixmap. -WallKeith Packard1-17/+9
fixes. Allocate pixmap private space only for screens with off-screen pixmap support
2003-10-13Use pixmaps instead of drawables in the kaa functions. Have the mga serverAnders Carlsson1-14/+47
support accelerated operations on offscreen pixmaps.
2003-10-13Add support for offscreen pixmaps.Anders Carlsson1-4/+184
2003-10-13Add offscreen memory manager and update the servers to reflect the nameAnders Carlsson1-38/+105
change for the kaa structure.
2003-09-11Move kdrive common sources to src dirKeith Packard1-0/+3
2003-07-07Update RCS tags, fix keyboard hang on VT switch, fix scroll wheel mice, addKeith Packard1-2/+2
-rawcoord option to not transform mice on rotate, fix mtrr to use power-of-two size, add a few vesa options
2001-06-29kdrive: dont touch hardware when disabledKeith Packard1-7/+18
2001-06-04Allow for hardware acceleration under RandR with Layer. Hardware/SoftwareKeith Packard1-4/+6
cursor switching still busted
2001-06-03Add mach64 driver to Tiny-XKeith Packard1-37/+36
2001-05-30Fix kaa to not try Copy for pixmap sourcesKeith Packard1-2/+3
2001-05-29Add miext/layer for more complete RandR support in kdrive/XfbdevKeith Packard1-0/+623