summaryrefslogtreecommitdiff
path: root/src/radeon_render.c
AgeCommit message (Collapse)Author
2006-10-23radeon: Pitch doesn't matter when height == 1.Michel Dänzer
2006-10-22Bug #6756: Attempt to fix repeat picture acceleration.Michel Daenzer
Always use normalized texture coordinates on R200 and fall back if a POT texture pitch doesn't match the HW's implicit pitch.
2006-05-01Bugzilla #6755 <https://bugs.freedesktop.org/show_bug.cgi?id=6755> PatchMichel Daenzer
#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).
2006-03-22Convert use of xf86fopen() and other xf86 wrapped libc symbols to use libcKristian Høgsberg
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.
2006-02-16Memory map and misc fixes. This completely reworks the way the driverBenjamin Herrenschmidt
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.
2005-12-09Bug #1106: Fix memory allocation for Render. (Michel Daenzer)Adam Jackson
2005-09-11Add support for EXA to the radeon driver. Building EXA and XAA support isEric Anholt
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.
2005-07-11Prep for modular builds by adding guarded #include "config.h" everywhere.XORG-6_8_99_16XORG-6_8_99_15Adam Jackson
2005-01-26(Stephane Marchesin, me) Add support for color (framebuffer) tiling.Roland Scheidegger
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).
2004-12-19- fix warnings (Ronny V. Vindenes)Alex Deucher
2004-12-12Modified:Vladimir Dergachev
programs/Xserver/hw/xfree86/drivers/ati/radeon_render.c programs/Xserver/hw/xfree86/drivers/ati/radeon_accel.c Make DMA blitting code more robust.
2004-12-06When direct rendering is enabled, use hostdata blits to transfer data fromMichel Daenzer
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.
2004-10-18Fixing one of the infamous 'control reaches end of non void functionEgbert Eich
problems'.
2004-09-17Bugzilla #1170: Fix an overcounting of DMA in BEGIN_RING that wasn'tEric Anholt
harmful. Bugzilla #1169: Add counting for BEGIN_RING/OUT_RING/ADVANCE_RING to avoid these sorts of problems in the future.
2004-08-30Hotfix for Eric Anholt's fix for bug #1156 : Clear theXORG-6_7_99_904Michel Daenzer
RADEON_NONSURF_AP0_SWP_16BPP bit for 4 bpp data, otherwise it breaks at depth 16.
2004-08-27Bug #1156: Fix the build on PPC by splitting the byte-order-setting codeEric Anholt
into a separate routine. While here, fix the byte swapping in the 32bpp case. (Michel Daenzer)
2004-08-12Fix context switching on Radeons and build problem when XF86DRI is notXORG-6_7_99_2Kevin E Martin
defined (Bug #922, Eric Anholt).
2004-08-09Fix install problem on platforms not using xorg.cf/xfree86.cf (Bug #339,Kevin E Martin
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).
2004-08-04Use info->ModeReg.surface_cntl to restore byte swapping for the framebufferMichel Daenzer
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>
2004-08-04- Add two new XAA hooks, SetupForCPUToScreenTexture2 andEric Anholt
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. (!)
2004-07-16Bugzilla #803,804: Fix build in the !XF86DRI case after DRI and RadeonEric Anholt
Render acceleration merges.
2004-06-20Add file missed in last commit: Bug #748:Eric Anholt
- 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.