R600 Gallium3D Now Does Buffer Copies With CP DMA

Posted by Michael Larabel on January 09, 2013

Marek Olšák has implemented support for buffer copying using the CP DMA engine on Radeon HD 4000 "R700" GPUs and newer.

Implemented for the Linux 3.8 kernel was a-sync DMA engine support within the Radeon DRM driver. This big AMD code drop is capable of delivering performance improvements. It's described as, "The async DMA can do copy/moves independent of the shader engine. So while the shader part of the GPU is busy with the rendering we can still upload new data with the DMA at the same time. Additional to that it is quite a bit more efficient than the shader engine when you just want to copy some data from A to B."

With the command submission checker in place and other improvements to the Radeon a-sync DMA code, Mesa is now taking advantage of the support. In the Tuesday code commit by Marek, the CP DMA engine is now used on R700, Evergreen, and Cayman GPUs. This is the Radeon HD 4000/5000/6000 series GPUs. The support isn't implemented for the Radeon HD 2000/3000 (R600) GPUs since there appears to be flushing issues with the destination buffer containing garbage.

This commit touches just over 100 lines of code.

Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.
Latest Hardware Reviews
  1. Sumo Lounge Emperor
  2. Gallium3D Continues Improving OpenGL For Older Radeon GPUs
  3. 15-Way Open vs. Closed Source NVIDIA/AMD Linux GPU Comparison
  4. Nouveau vs. NVIDIA Linux Comparison Shows Shortcomings
Latest Software Articles
  1. The Cost Of Ubuntu Disk Encryption
  2. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  3. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
  4. F2FS File-System Shows Regressions On Linux 3.10
Latest Linux News
  1. QEMU 1.5 Supports VGA Passthrough, Better USB 3.0
  2. Handbrake 0.9.9 Supports OpenCL Offloading
  3. Freedreno Gallium3D Now Banging The Adreno A3XX
  4. Jolla Announces Their First Phone
  5. Mageia 3 Released, Still Using Legacy GRUB
  6. NetBSD 6.1 Brings In More Features
  7. Using Six Monitors With AMD's Open-Source Linux Driver
  8. Benchmarking The Intel P-State, CPUfreq Changes
  9. FreeBSD Still Working On Next-Gen Package Manager
  10. DNF Still Advancing As Experimental Yum For Fedora
  11. Logitech Begins Supporting Linux Users
Latest Forum Talk
  1. Handbrake 0.9.9 Supports OpenCL Offloading
  2. QEMU 1.5 Supports VGA Passthrough, Better USB 3.0
  3. The Cost Of Ubuntu Disk Encryption
  4. Freedreno Gallium3D Now Banging The Adreno A3XX
  5. Sumo Lounge Emperor
  6. FreeBSD Still Working On Next-Gen Package Manager
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite