Age | Commit message (Collapse) | Author |
|
|
|
Always use normalized texture coordinates on R200 and fall back if a POT
texture pitch doesn't match the HW's implicit pitch.
|
|
#5536 <https://bugs.freedesktop.org/attachment.cgi?id=5536>:
Change HostDataBlit interface to take dst_offset_pitch and coordinates
instead of just a destination pointer, as the latter is not sufficient
with tiling. Also, use HW clipping to avoid overwriting destination
data outside of the specified width.
Adapt to new HostDataBlit interface. This fixes corruption with
UploadToScreen to the front buffer (from exaPutImage).
|
|
symbols directly. The xf86* versions aren't supposed to be used
directly.
Drop libc wrapper; don't include xf86_ansic.h and add includes now missing.
|
|
detects available & accessible video memory and initializes the card
internal memory map. Along the way, I re-ordered some of the stuffs in
pre-init in order to remove some dodgy codepath, fixed various init,
exit and vt switch issues, and overall made the driver more robust. The
full memory map fix requires an updated DRM. The X driver no longer
tries to position the AGP aperture, this becomes entirely DRM
responsibility.
|
|
|
|
controlled at compile time, plus the runtime option of Option
"AccelMethod" "EXA" or "XAA". The XAA support appears to remain as
before, while the EXA pieces need just a little more polishing. Notable
features:
- Render acceleration working on Radeon 100 and 200-series with DRI on.
- DRI works with EXA Notable issues:
- DGA disabled in the EXA case.
- Backbuffer moves disabled in the EXA case.
- No textured XVideo.
- MMIO render acceleration is close but still has some issues.
- Memory pressure while using Composite is really troublesome with DRI on.
This patch is based on an initial patch by Zack Rusin, with significant
work by Benjamin Herrenschmidt and myself.
|
|
|
|
Convert all XAA accel code to use explicit dst and src offset pitch
control to make it work. Use the new drm surface ioctls to set up the
tiled surfaces (if dri is enabled).
|
|
|
|
programs/Xserver/hw/xfree86/drivers/ati/radeon_render.c
programs/Xserver/hw/xfree86/drivers/ati/radeon_accel.c
Make DMA blitting code more robust.
|
|
system memory to video RAM, which should reduce CPU usage especially
with larger videos. Can be disabled via Option "DMAForXv" if there
should be any stability issues, but it's been stable for me during a
week of testing. Based on a patch by Nikolaus Meine
<meine@tnt.uni-hannover.de>. Probably fix endianness issues in some
newer XVideo code, untested.
Also use hostdata blits to transfer RENDER image data to video RAM to avoid
idling the accelerator engine. Increases RENDER performance
significantly for me.
These changes were only tested on an M9 in a Titanium PowerBook but should
work with all Radeons where direct rendering is supported.
|
|
problems'.
|
|
harmful. Bugzilla #1169: Add counting for
BEGIN_RING/OUT_RING/ADVANCE_RING to avoid these sorts of problems in
the future.
|
|
RADEON_NONSURF_AP0_SWP_16BPP bit for 4 bpp data, otherwise it breaks at
depth 16.
|
|
into a separate routine. While here, fix the byte swapping in the 32bpp
case. (Michel Daenzer)
|
|
defined (Bug #922, Eric Anholt).
|
|
Harold L. Hunt II, Alexander Gottwald).
Fix crash when using X core font in zh_CN.UTF-8 locale (Bug #368, Yu Shao,
David Dawes).
Fix glXMakeCurrent(Dpy, None, NULL) crash (Bug #719, Adam Jackson).
HP-PA build fix (Bug #828, Guy Martin, Paul Anderson).
Fix SDK build for GATOS and Wacom driver (Bug #829, Bryan Stine).
Fix attempt to read video ROM before enabling it (Bug #843, Ivan
Kokshaysky, Mike A. Harris).
Fix detection of primary adapter (Bug #843, Ivan Kokshaysky, Mike A.
Harris).
Clarify xset man page description of how to use the keyboard repeat rate
settings (Bug #846, Mike A. Harris).
Fix problem where print-screen key would get remapped to sys-req in certain
keymaps, which broke GNOME printscreen functionality (Bug #847, Owen
Taylor).
Fix several render problems:
- MMIO mode support
- Hang on IGP chips
- VT switching hang
- 3D render corruption (Bug #922, Hui Yu).
|
|
aperture on big endian machines, remove superfluous local variables and
register reads.
Adapt framebuffer aperture byte swapping to texture format before copying
data to offscreen area and restore it afterwards on big endian
machines, fixes Render acceleration there.
reviewed by: Hui Yu <hyu@ati.com>, Kevin E. Martin <kem@freedesktop.org>
|
|
SetupForCPUToScreenAlphaTexture2. These add a dstFormat argument after
the previous format argument, which the driver needs to use to properly
set up the destination format. Two new arrays are added for the list of
destination formats supported that correspond to the previous format
arrays for sources.
- Make Render acceleration only occur when the new hook for that
acceleration type is supplied and the dst format list is set, along
with the src format list being set. Without knowing the destination
format, the Render acceleration couldn't properly support all the
destinations it might encounter.
- Bump XAA module minor version.
- Update the Radeon Render acceleration to use the new hooks when the XAA
module is sufficiently new. Fix a bug in the src/dst alpha booleans for
ops, and use them to set blend_cntl to support destinations without
alpha. Add missing PICT_a1r5g5b5 texture format, and add list
terminator. (!)
|
|
Render acceleration merges.
|
|
- Add Render acceleration for Radeon 100 and 200-series cards, enabled by
default. Notable performance gains include 27fps in cairogears instead
of 6fps (compared to 50 with glitz), and my disks are now the
bottleneck in an ls -lR in gnome-terminal. Only supported in DRI mode
because the MMIO submission hangs the card so far, but the code is left
in because it may be supportable soon.
- Add xorg.conf options to disable Render acceleration and to force the
subpixel order in the server (Hui Yu).
Many thanks to Hui Yu at ATI for the code this was based off of, Michel
Daenzer for bugfixes and suggestions, and LinuxFund for sponsoring the
work.
|