- On R128, don't refer to an old Composite's mask transform when the
current Composite doesn't have a mask.
- Staticize some global variables in r128_composite.c.
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!
- 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.
- 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.
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.
emitting as a tri fan rather than a tri list. A rect list would save an
additional vertex (out of 4) per rectangle, but there's no measurable
speed difference and the tri fan may be useful when transforms come
into play.
accel. I don't 100% trust that the math works for Saturate, but I can't
tell from existing information.
- Fix texture pitch fallback checks.
- Fallback when src or mask have transforms.
- Disable Radeon Composite accel until the offset thing is fixed.
- Set offscreenPitch to 64 on Radeon thanks to new information and a kaa
fix. Fixes acceleration at width!=1024.
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.
- 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.
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.
- Remove usleeps from idle and waitavail code, recommended by keithp.
- Add a workaround for apparent broken acceleration with Rage 128 and
offset alignment with 8-bit acceleration (24-hack and plain 8-bit).
- Minor cleanup of setup code.
- 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).
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.