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.

The RadeonHD_RM.resource

A while ago I mentioned the RadeonHD_RM.resource, and said that I'd give more details later. Several posts to this development log have come since, without a mention about this resource. Today, I'm going to deliver those details, and provide a glimpse of what is still to come.

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.

RadeonHD.chip - Radeon HD 4350 PCI VGA Output is Working

Radeon HD 4350 screenmode closeupAfter days of persistent effort, the VGA output on Radeon HD 4350 that eXec magazine donated to me is finally working on Amiga OS 4.x. This is the first time that a current generation graphics card is working on Amiga OS 4.x. Granted, there is no hardware acceleration yet, but the start is there. The problem was small, but very hard to find. To give people an idea of how frustrating driver development can be, here is the whole saga.

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):

1 2 3 4

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