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

AMD Releases 3D Programming Documentation

Michael Larabel

Published on 22 February 2008
Written by Michael Larabel
Page 1 of 1 - 13 Comments

For the past several weeks we have been referencing AMD's "tcore" in several of our articles, which is a user-space software suite that has been developed and used internally at ATI by engineers to work on various aspects of their binary drivers. Tcore is primarily used for testing prior to the availability of the actual silicon for their forthcoming graphics processors. John Bridgman and Alex Deucher have been working tediously to get this tcore source-code sanitized and cleared for public release, and finally they have reached this milestone. AMD has just published the first bits of open-source 3D programming documentation for ATI GPUs. This 3D programming documentation covers the R500 series and even goes back with information on the R300/400 series as well. The R600 3D programming guide will also be out soon. This information available today is what will foster the growth of open-source R500/600 3D support for the Radeon and RadeonHD drivers as well as R600 2D acceleration.

We've shared in earlier articles that AMD's plans for enabling open-source 3D support would come in the way of sample source-code that would allow developers to better understand the 3D engine, as opposed to just releasing 3D documentation. However, those plans have changed slightly. Due to the modularization of tcore and tgl (the OpenGL component), more weight is now being placed into the 3D documentation so that developers can better understand the design of the 3D engine. This guide not only covers the R500 series, but contains information going back into the R300 series. This R300 information will help in filling some of the unknowns and areas once reverse-engineered. Particularly there should be stability improvements as well as performance improvements, if enough time is spent tuning the driver. Information covering the 3D side of the R600 series is still being worked on but is expected in about one month.

Tcore is made up of about 60,000 lines of code and allows for testing of such areas as GPU initialization, command submission, and is able to run either as a simulator or on actual hardware. Also being released are some microcode files with Tcore and the latest microcode from the fglrx production driver that will go into the DRM tree. The bottom layer of AMD's new OpenGL driver from last Fall is also being evaluated as possibly being open-sourced in the near future.

While opening up tcore is really about inducing open-source 3D support for the R500/600 series, this information will assist in being able to offer 2D acceleration for the R600 series. The Radeon HD 2000 series no longer has a 2D engine but emulates the calls on the 3D side using the CP (Command Processor). The RadeonHD driver still uses MMIO (Mapped Memory IO), so first it must switch to using the command processor. Meanwhile, there is R500 XAA/EXA acceleration in the RadeonHD driver and the Radeon driver is already able to use this command processor.

The 3D programming documentation today is 300 pages and is made up of a programming guide and register specifications. Among the areas covered in this 3D guide are the command processor, vertex shaders, fragment shaders, Hyper-Z, and the various 3D registers. Editor's Note: In the hours leading up to this public documentation drop, we've been told that tcore will now not be available for immediate download with this 3D programming documentation. We would expect tcore to be available very soon.

This is now the third open-source dump from AMD since implementing their new open-source strategy. The first release occurred in September with the RV630 and M56 Register Reference Guides and then last month there was the M76 and RS690 drops. These previous documents have just covered R500/600 card support with mode-setting, LVTMA, TMDS, i2c, and other basic but critical elements. On a semi-related note, earlier this week AMD also opened up their AMD Performance Library (APL) under the Apache License as Framewave.

AMD has been criticized for being slow on releasing NDA-free documents to the open-source community, but they are sanitizing and clearing these documents for release in real-time and with only two people (John Bridgman and Alex Deucher) doing a majority of the work and then having this information cleared by their legal department. Their schedule from the start has been to release 3D documentation in Q1'08, and from today's release they are still on schedule with meeting this goal. This, however, is in starch contrast to Intel who at the end of last month had released all of their 965 and G35 Express IGP documents to the open-source community, which covered everything from the initialization to 3D and video playback, but they had worked on this internally for several months in the dark.

In just a few hours, John Bridgman will be speaking at FOSDEM 2008 on open-sourcing ATI/AMD and will cover AMD's intentions and plans along with difficulties they have experienced in this open-source mission. Following that talk, Egbert Eich will be talking about the RadeonHD driver when it comes to its status, roadmap, and future developments. We will be providing live coverage from FOSDEM 2008 on Phoronix and we will be publishing videos and pictures from the X.Org Dev Room. AMD's tcore is intended for developers and not end-users, though if you're interested the code can be downloaded from AMD's open GPU website or the X.Org mirror. Further information about the RadeonHD driver can be found from searching RadeonHD or RadeonHD.org.

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. Even With Re-Clocking, Nouveau Remains Behind NVIDIA's Proprietary Linux Driver
  2. The Power Consumption & Efficiency Of Open-Source GPU Drivers
  3. AMD R600g/RadeonSI Performance On Linux 3.16 With Mesa 10.3-devel
  4. Intel Pentium G3258 On Linux
Latest Linux Articles
  1. Updated Source Engine Benchmarks On The Latest AMD/NVIDIA Linux Drivers
  2. Nouveau vs. Radeon vs. Intel Tests On Linux 3.16, Mesa 10.3-devel
  3. KVM Benchmarks On Ubuntu 14.10
  4. X.Org Server 1.16 Officially Released With Terrific Features
Latest Linux News
  1. GStreamer VA-API Plug-In Update Adds New Features
  2. Qt 5.4 Going Into Feature Freeze Next Week With Exciting Changes
  3. OpenSUSE Factory Turns Into Rolling Release Distribution
  4. "The World's Most Highly-Assured OS" Kernel Open-Sourced
  5. NVIDIA Is Working Towards VDPAU H.265/HEVC Support
  6. Hawaii Bug-Fixes Start Hitting Mainline RadeonSI Gallium3D
  7. The FFmpeg vs. Libav War Continues In Debian Land
  8. Grand Theft Auto Running On Direct3D Natively On Linux Shows Gallium3D Potential
  9. GCC As A Just-In Time Compiler Is An Interesting Project
  10. Age Of Wonders III Is Still Being Ported To Linux
Latest Forum Discussions
  1. Linus Torvalds On GCC 4.9: Pure & Utter Crap
  2. Updated and Optimized Ubuntu Free Graphics Drivers
  3. Debian + radeonsi
  4. Open-source drivers on ATI R7 260X
  5. List of Linux friendly Kickstarter projects
  6. Porting Mesa to the Playstation 2
  7. ASRock AM1H-ITX: One Of The Best AM1 Mini-ITX Motherboards
  8. Table test