Commit Graph

14 Commits

Author SHA1 Message Date
Keith Packard
7ff67f2872 Separate out off-screen allocation from Init. Fix Enable to update
off-screen addresses. Wrap RandR to update off-screen addresses.
Set off_screen_base and memory_size fields correctly.
2004-06-28 00:48:51 +00:00
Keith Packard
5b75aae2cf Add ARGB cursor support for Radeon cards. 2004-06-26 04:13:03 +00:00
Eric Anholt
cade317d31 Overhaul of the ATI driver:
- Add monochrome hardware cursor support.
- Try to auto-detect AGP support for DRI on Radeons. And fail. Detect it
    properly on R128.
- Set up card for pseudo-DMA if possible. Convert 2D rendering code to
    prepare DMA packets only. Use generic code to decode DMA packets to
    MMIO if PDMA is unavailable. Add WIP code to support "real" DMA without
    DRM support.
- Dispatch pending DMA commands when the server sleeps. Otherwise some
    things, such as typing in an xterm, wouldn't show up for a time.
- Fix Radeon Composite acceleration in many ways, and add Rage 128
    Composite acceleration. Disable them both due to still-not-understood
    issues they have. They fail with In, Out, AtopReverse, and Xor, and
    text rendering is strange.
- Add textured XV support for R100 and Rage 128. No brightness/sat
    controls, but it does support multiple ports, and cooperates with
    Composite.
- Add WIP code for hostdata uploads.
- Many cleanups and fixes.
2004-05-17 20:18:02 +00:00
Eric Anholt
01e9cc858a - Add glx visuals code based on XFree86's Radeon driver.
- Reserve areas for back/depth/span when USING_DRI && GLXEXT. This would be
    better in a TransitionTo3d, but we'd need to work with the offscreen
    memory manager for that.
- Misc. fixes to ati_dri.c for DRI+GLX. Needs more work still.
2004-01-25 01:30:33 +00:00
Eric Anholt
9270256565 Change PCI ID information field to be one of r128, r100, r200, r300. This
is all the information we need so far. Put that information into atic,
    and use it correctly in the code (unlike before).
2004-01-09 08:43:48 +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
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
ec7f553930 Add more RV250 PCI IDs. 2003-12-01 03:15:13 +00:00
Eric Anholt
d803918a9f Add new Radeon 9200 PCI IDs. 2003-11-25 22:39:54 +00:00
Eric Anholt
8e09afe657 Add RV250 PCI IDs. 2003-11-23 02:08:16 +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
41dde24b22 - Fix confusion of depth/bitsPerPixel in ati_draw.c
- Disable acceleration with 24bpp due to apparent broken acceleration.
    Accel at 24bpp was the cause of the crashes when people tried to use
    any depth over 16. XFree86 doesn't support 24 either.
- Disable at < 8bpp, too.
- Add the other Rage 128 PCI IDs.
- Remove unnecessary setting of scissor registers (only default scissor
    gets used).
2003-11-20 00:05:56 +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