1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems


Facebook RSS Twitter Twitter Google Plus


Phoronix Test Suite

OpenBenchmarking.org

Coming Soon: AMD R600 3D Documentation

Michael Larabel

Published on 13 August 2008
Written by Michael Larabel
Page 1 of 1 - 11 Comments

For months we have been telling you that AMD has been preparing to release their R600 series documentation as well as opening up the source-code to two of their internal software projects used for testing new graphics processor designs prior to the availability of the actual hardware. Advanced Micro Devices has yet to release their 3D programming documentation covering the R600 series (or the brand-new RV770) nor the source-code to their two internal projects (TCore and KGrids), but following several postings in our forums over the past couple of weeks and many emails inquiring about the status, today we have a brief update to share.

Since the end of 2007 it has been a mixed bag as to whether AMD would assist the open-source community in developing the Mesa 3D driver (as part of their open-source strategy) by releasing the register documentation covering the 3D engine or by providing sample source-code -- as they had been uncertain as to what would be more beneficial. It was even considered by AMD of opening up the bottom layer of their proprietary fglrx driver in order to help. AMD was very close to releasing TCore back in February and again in April at XDC, but ultimately it ended up being a 300 page programming guide that did the trick for R500 3D support (AMD Releases 3D Programming Documentation). This programming guide covered R500 register specifications, use of the command processor, vertex shaders, fragment shaders, and Hyper-Z. AMD had also gone back and released an NDA-free version of the R300 3D register guide.

Shortly following this documentation was the release of microcode for all Radeon GPUs that was stripped away from their production driver. This documentation and the availability of the microcode had worked out in everyone's favor as the hardware-accelerated glxgears milestone was quickly met and not even 75 days after its release there was working 3D (with Compiz support) for the Radeon X1000 series using the open-source driver that's even capable of handling some games (Gaming With The Open-Source R500 Driver).

While documentation was enough for previous generations of ATI graphics processors in obtaining community-generated open-source 3D support, with the R600 series this will be quite different. Starting with the R600 series (and continuing with the recently announced RV770, Radeon HD 4800 series) there is no longer a physical 2D engine. Instead, 2D calls are emulated using the command processor, or CP for short. Both the Radeon and RadeonHD drivers are now capable of using the command processor through the Direct Rendering Manager (DRM) as opposed to MMIO (Memory Mapped IO). Recently Luc Verhaegen has exposed a way in the Command Submission branch to use the command processor without relying upon any DRM. In regards to the R600 2D acceleration, the support will be written in a way that it will support the R600 series and will run almost unchanged on the RV770 (Radeon HD 4800) series.

As we have shared before, TCore is a software project that has been developed and used internally by AMD/ATI with its primary function being for software testing prior to the availability of the actual silicon for future graphics processor designs. Several test programs can then be written that run against TCore and help in the debugging process by running an emulated mode, etc. The way it works is that TCore just initializes and then waits for a test program to run. AMD's KGrids project is similar to TCore except that it's a driver that runs at the kernel level. There is no ETA for the source-code for either of these projects, but it looks like the R600 documentation will first ship. The sanitization process for the KGrids/TCore source-code involves removing unsanitized headers and portions of the code that wouldn't be relevant to jump-starting the open-source R600 2D/3D support. Part of what makes this process difficult though is that both projects are a constant work in progress. TCore is already being used to test GPU designs that aren't slated for introduction until 2010.

With the R500 3D Mesa code already having been established (as an extension of the R300/400 code), TCore will be of limited advantage. AMD's John Bridgman describes that TCore may help a developer down the road a nagging intermittent bug on an R500 GPU with information found in this code, but nothing major.

Finally, when it comes to the R600 documentation it looks like that will be released in the next couple of weeks. For a number of weeks now the documentation has been stuck in AMD's legal department as they work to resolve an issue that has come up with the documentation. However, AMD's lead open-source sanitizer, John Bridgman, is currently on a two week holiday so we will not see this documentation in the hands of the public before the end of the month. The 2008 X Developers' Summit is taking place the first week of September and during that same time it will have been one year since AMD introduced their open-source strategy and also just shy of one year since the RadeonHD R500/600 driver was introduced. We'd suspect the documentation will finally make it out around then. John Bridgman has also publicly confirmed this in the Phoronix Forums. Speaking of XDS 2008, we will be covering news from this event at Phoronix as well as providing audio/video recordings of the different talks, so stay tuned.

This will not be the first R600 documentation to be released to the public, but earlier this year they had released R600 ISA documentation (Instruction Set Architecture) and in January we received the M76/RS690 mode-setting documentation (before that was also the documentation on the ATI RV630). AMD had also released the source-code to a new AtomBIOS parser a few weeks back.

If there's any good news coming out of these documentation delays is that the key open-source ATI developers already have the needed information through NDAs (Non-Disclosure Agreements) with AMD. While AMD works out these legal issues, the main xf86-video-radeonhd and xf86-video-ati developers have had the documentation and in private have been working on the R600 Mesa/DRM. In fact, Red Hat's David Airlie has already released basic R600 DRM support. It was just shy of 75 days from the time the public R500 3D documentation was released to when we had the working 3D support, but because of this work going on right now for the R600 series in private, hopefully this time will be even less for the R600/RV770. Though during our last briefing, the developers still haven't reached the critical first step of rendering an OpenGL triangle.

The other good news is that AMD has been working on improving their documentation process as they design next-generation GPUs, so in the future we will hopefully not see delays nearly as long as we have with the R600.

If all goes according to plan we'll hopefully see the R600 3D documentation in early September and within the first few weeks of that there should be a first-cut open-source 3D driver that covers the Radeon HD 2000 and 3000 series (possibly the Radeon HD 4800 series too). By the end of the year we would anticipate "a good level" of 2D/3D open-source support for these graphics cards. For those that don't know, there has been basic mode-setting support for most of the R600 GPUs since the end of last year in the two open-source DDX drivers. Stay tuned to Phoronix for all of the latest information on an open-source AMD.

We are the initiators in providing incredible pass4sure 70-541 practice test including our free 642-982 dumps to give you success guarantee in real 642-359 exam.

About The Author
Michael Larabel is the principal author of Phoronix.com and founded the web-site in 2004 with a focus on enriching the Linux hardware experience and being the largest web-site devoted to Linux hardware reviews, particularly for products relevant to Linux gamers and enthusiasts but also commonly reviewing servers/workstations and embedded Linux devices. Michael has written more than 10,000 articles covering the state of Linux hardware support, Linux performance, graphics hardware drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated testing software. He can be followed via and or contacted via .
Latest Linux Hardware Reviews
  1. Acer B286HK: A 28-inch UHD LED 4K Monitor For As Low As $350
  2. Intel Xeon E5-1680 v3 & E5-2687W v3 Compared To The Core i7 5960X On Linux
  3. Intel 120GB 530 Series SSD Linux Performance
  4. Btrfs/EXT4/XFS/F2FS RAID 0/1/5/6/10 Linux Benchmarks On Four SSDs
Latest Linux Articles
  1. Mesa Git Yields Performance Improvements For Newer AMD GPUs
  2. Apple OS X 10.10 vs. Ubuntu 14.10 Performance
  3. Mesa 10.5-devel Brings Some Intel Haswell HD Graphics Changes Over Mesa 10.3
  4. NVIDIA vs. Nouveau Drivers With Linux 3.18 + Mesa 10.4-devel
Latest Linux News
  1. GenodeOS 14.11 Now Supports Intel's Wireless Hardware
  2. Jolla Tablet Could Have Upgrades For MicroSDHC, Split Screen, 3.5G
  3. Intel Has Last Round Of DRM Changes For Linux 3.19, Starts Dropping DRI1/UMS
  4. Fedora 21 Release Candidate 1 Awaits Your Testing
  5. GCC 5 Adds Support For ARM's Cortex-A17
  6. KWayland Server Component Coming For KDE Plasma 5.2
  7. NVIDIA Posts Tegra Gallium3D Patch For K1+ Support
  8. Ubuntu 14.10 MacBook Air Tests With Linux 3.18, Mesa 10.5
  9. AMD Richland APU Support Added To Coreboot
  10. 2014 Holiday Shopping Reminder, Happy Thanksgiving
Latest Forum Discussions
  1. Aliens vs predator for Linux
  2. Updated and Optimized Ubuntu Free Graphics Drivers
  3. Hurrican SDL Port
  4. Roadmap to Catalyst 14.10 ?
  5. how to configure module phoromatic ?
  6. PulseAudio 6.0 Is Coming & Other Linux Audio Plans For The Future
  7. Debian Developer Resigns From The Systemd Maintainership Team
  8. Cant get working Kaveri APU - A10-7850k