Projects » Amiga OS 4 Projects » RadeonHD Driver » RadeonHD Development Log

NOTE: This blog gives a "behind the scenes look" at the progress of the RadeonHD driver's development. As such, its contents reflect the state of the development version of the driver, and not the state of the publicly released version.

DVI output for Radeon HD 4000 series cards

I am pleased to announce that the RadeonHD driver for AmigaOS 4.x can now also output to DVI on Radeon HD 4000 series cards. Apart from being another item ticked off the driver development to-do list, from a personal perspective this means that I can now use my 4-port DVI KVM switch fully. Previously, switching to my Sam460ex would mean the monitor switching to the VGA output, and then manually switching to DVI again when switching back to another machine. The button on my monitor for switching inputs has already lost its "click" sensation due to the large amount of switching, so I am glad to hand that task over to the KVM.

Radeon HD 2000-4000 Compositing is Operational

An image of a composited Workbench screen on a Radeon HD 4650The title of this post says it all; compositing for Radeon HD 2000-4000 graphics cards (R6xx-R7xx chipsets) is done. This is another milestone for the RadeonHD driver AmigaOS 4.x. Completion of this major feature puts the support for Radeon HD cards (R6xx-R7xx chipsets) almost on par with the support for the Radeon X1000 series (R5xx chipsets). I say almost because a few of the minor blitter acceleration functions,and DVI and VBlank interrupts are are still to do. As always, there is more work to do. Nevertheless, a composited Workbench performs well with these cards.

RadeonHD: Mobility Chipsets now Supported

With the Sam460ex recently going on sale and including the RadeonHD driver, the driver has inevitably been tested on a wider range of hardware. While most hardware is working just fine, two people with a Sapphire Radeon HD 4350 reported (see here and here) that it didn't work with their cards. Most of their screens were filled with garbage. This surprised me as all Radeon HD 4350s tested previously worked just fine. So, suppressing my desire to grumble about people ignoring my recommendations (hey, it wouldn't have happened if you had got a Radeon HD 4650/4670 like I suggested ;-) ), I got to work tracking down the problem.

Radeon HD 2000-4000 Series 2D Hardware Acceleration

It has been almost a year since I last posted an update to this driver development log. This was never intended, and my apologies to anyone who was hoping for more regular updates. Things have been rather hectic, and I had decided early on to only post updates when there is something concrete to show. Updates about how many lines of code have been written are boring. That's not to say that there have not been any milestones reached along the way; just that they have been "internal" milestones, which are less interesting to users. Anyway, an update is long overdue, so here it is.

R5xx Compositing is Done

R5xx compositing on Amiga OS 4.xI am pleased to announce that compositing for R5xx based cards (Radeon X1000 series) is now done. This marks a major milestone in the development of the RadeonHD.chip driver. Namely, full 2D graphics acceleration is implemented for an entire series of graphics cards. The screenshot below shows  Workbench with compositing effects enabled being displayed by a Radeon X1550 graphics card. As you can see, the errors that were present in the previous screenshot are now gone (the development log entry containing the previous screenshot is included in the image below for comparison).

RadeonHD.chip Supports Obtaining Modes Via DDC

A few days ago it was announced at Pianeta Amiga 2009 in Empoli, Italy, that Amiga OS 4.x will soon support obtaining monitor resolutions automatically via the Display Data Channel (DDC) (see this report on the show). Now that this has been made public, I can announce that the RadeonHD.chip driver has DDC support too. In fact, it has been supported since February of this year.

2D Blitter Acceleration for R5xx Chipsets is Done

Hardware acceleration of 2D blitter operations for R5xx chipsets (Radeon X1000 series cards) was completed last with the exception of blitting patterns. This is another milestone in the development of the RadeonHD for Amiga OS 4.x graphics driver. Blitting patterns was left out because it is a less frequently used operation that cannot be performed efficiently by the R5xx's 2D acceleration hardware. Instead, it would require using the R5xx's 3D capabilities. This will be added later, after hardware compositing is added (which also uses the 3D capabilities).

Hardware Accelerated Solid Rectangles for R5xx Based Cards

Solid rectangles are now rendered by the graphics card, instead of by the CPU. This is the first hardware accelerated operation implemented in the RadeonHD driver (for Amiga OS 4.x). The increase in speed can be seen in benchmarks made using the P96Speed utility (specifically, the RectFill() benchmark):

Big-Endian Display Modes for R5xx Cards

Hardware acceleration for R5xx cards is still a work in progress. In the meantime I have discovered how to switch the card to performing byte-swapping in order to convert from big-endian to little-endian modes for R5xx cards (Radeon X1000 series). Previously, all modes were simply defined as being little-endian, thus byte-swapping had to be performed in software by Picasso96. This is now handled automatically by the R5xx chipset.

Updates and Installers

It has been several weeks since I posted an update on this project.  Right now hardware accelerated blitter is still a work in progress. In the meantime I have written an installer and AmiUpdate script for the driver. I personally dislike software that requires manual installation, and so took the time to write the necessary scripts for installation and updates. This was done now rather than later since I knew that it would take some time to write an installer (which is something that I had not done before), and it would have been very tempting to skip it if the driver were ready for release, and no installer was written. Along with the installer and update script, a "build-release" script has also been written. Thus, making a release now simply requires running a single script.

1 2 3 4

Projects » Amiga OS 4 Projects » RadeonHD Driver » RadeonHD Development Log