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


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. A Walkthrough Of The New 32 System Open-Source Linux Benchmarking Test Farm
  2. Habey MITX-6771: Mini-ITX Board With Quad-Core J1900 Bay Trail
  3. OCZ Vector 150 SSD On Linux
  4. Noctua i4 CPU Cooler: Great For Cooling High-End LGA-2011v3 CPUs
Latest Linux Articles
  1. AMD Kaveri: Open-Source Radeon Gallium3D vs. Catalyst 14.12 Omega Driver
  2. 12-Way AMD Catalyst 14.12 vs. NVIDIA 346 Series Linux GPU Comparison
  3. AMD Catalyst 14.12 Omega Driver Brings Mixed Results For Linux Users
  4. 6-Way Winter 2014 Linux Distribution Comparison
Latest Linux News
  1. Details On Using OpenACC & GPUs With GCC
  2. Ubuntu 15.04 Alpha 1 For Its Various Flavors
  3. Git 2.2.1 Released To Fix Critical Security Issue
  4. WTFTW: A Tiling Window Manager Written In Rust
  5. Jolla's Sailfish OS Update 10 Is Now Available
  6. HP To Launch Linux++ Operating System Next Year
  7. Civilization: Beyond Earth Launches For Linux
  8. NIR Has Been Revised As A New IR For Mesa
  9. New 64-bit Linux Kernel Vulnerabilities Disclosed This Week
  10. PostgreSQL 9.4 Brings JSONB & Many Other New Features
Latest Forum Discussions
  1. XLennart: A Game For Systemd Haters With Nothing Better To Do
  2. Debian init discussion in Phoenix Wright format
  3. Bench specific mount point
  4. Tool for measuring FPS in games
  5. Need some hand holding with upgrading xserver
  6. Ubuntu Developers Still Thinking What To Do About Adobe Flash Support
  7. Microsoft buying Mojang
  8. Updated and Optimized Ubuntu Free Graphics Drivers