<?xml version="1.0"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title> blog</title>
		<link>https://hdrlab.org.nz/projects/amiga-os-4-projects/radeonhd-driver/radeonhd-development-log/rss</link>
		<atom:link href="https://hdrlab.org.nz/projects/amiga-os-4-projects/radeonhd-driver/radeonhd-development-log/rss" rel="self" type="application/rss+xml" />
		<description></description>

		
		<item>
			<title>Want to Learn How to Use Warp3D Nova in Your Software?</title>
			<link>https://hdrlab.org.nz/projects/amiga-os-4-projects/radeonhd-driver/radeonhd-development-log/want-to-learn-how-to-use-warp3d-nova-in-your-software/</link>
			<description>&lt;p&gt;&lt;img class=&quot;right&quot; src=&quot;https://hdrlab.org.nz/assets/Projects/RadeonHD/_resampled/resizedimage200130-W3DNovaTutorial1.jpg&quot; alt=&quot;W3DNova Tutorial1 Screenshot&quot; title=&quot;W3DNova Tutorial 1 Screenshot&quot; width=&quot;200&quot; height=&quot;130&quot;/&gt;The &lt;a title=&quot;Warp3D Nova News Release&quot; href=&quot;http://www.a-eon.com/PDF/News_Release_Warp3D_Nova.pdf&quot;&gt;announcement of Warp3D Nova&lt;/a&gt; in late March 2016 caused quite a bit of excitement. It's a new and modern shader-based 3D graphics API, and it opens up new possibilities. However, those possibilities only matter if people (software developers) turn them into reality.&lt;/p&gt;
&lt;p&gt;To help developers get started, &lt;em&gt;I've written the first of what should become a series of tutorials about how to use Warp3D Nova&lt;/em&gt;. Check the first tutorial out, here:&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;strong&gt;&lt;a title=&quot;Getting Started with Warp3D Nova - Setting up a Render Context&quot; href=&quot;https://keasigmadelta.co.nz/blog/getting-started-with-warp3d-nova-setting-up-a-render-context/&quot; target=&quot;_blank&quot;&gt;https://keasigmadelta.co.nz/blog/getting-started-with-warp3d-nova-setting-up-a-render-context/&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot;&gt;If you're interested in graphics/games programming on AmigaOS, then this tutorial is for you. Enjoy!&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot;&gt;NOTE: There is an OpenGL ES 2 wrapper in the works, and that's an option for developers who need their software to work on other platforms. If you're writing just for AmigaOS, though, then you can also use Warp3D Nova directly. The tutorials will teach you how.&lt;/p&gt;</description>
			<pubDate>Thu, 26 May 2016 11:16:19 +0000</pubDate>
			
			
			<guid>https://hdrlab.org.nz/projects/amiga-os-4-projects/radeonhd-driver/radeonhd-development-log/want-to-learn-how-to-use-warp3d-nova-in-your-software/</guid>
		</item>
		
		<item>
			<title>Warp3D Driver Development in Pictures - The W3D_SI Driver</title>
			<link>https://hdrlab.org.nz/projects/amiga-os-4-projects/radeonhd-driver/radeonhd-development-log/warp3d-driver-development-in-pictures-the-w3d-si-driver/</link>
			<description>&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;img class=&quot;right&quot; src=&quot;https://hdrlab.org.nz/assets/galleries-3/galleries/_resampled/resizedimage15097-11-supertuxkart-mipmapping-aniso.jpg&quot; alt=&quot;SuperTuxKart on AmigaOS 4&quot; title=&quot;SuperTuxKart on AmigaOS 4&quot; width=&quot;150&quot; height=&quot;97&quot;/&gt;The Warp3D driver for Southern Islands GPUs has been in the hands of users for months now, so this blog post is well overdue. I always intended to give you a glimpse into the development process for this driver, and even saved screenshots regularly during the development process. I just never managed to find the time to publish it. So, I've stolen some time out of my schedule to finally get it online.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;Developing software involves taking small steps at a time. Gradually features and functionality get added one by one, until the software is ready for release. Developing the Warp3D driver has given me the unique opportunity to show you this process in pictures. In the &lt;a title=&quot;Warp3D Driver Development in Pictures&quot; href=&quot;https://hdrlab.org.nz/[sitetree_link id=359]&quot;&gt;slideshow&lt;/a&gt;, you'll see the driver grow from a skeleton driver that does almost nothing, through to the first driver that was publicly released.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;To start your journey through the development process, &lt;a title=&quot;Warp3D Driver Development in Pictures&quot; href=&quot;https://hdrlab.org.nz/[sitetree_link id=359]&quot;&gt;go to the gallery page&lt;/a&gt;, and click on the first screenshot. It'll open a &quot;lightbox,&quot; and you'll be able to step through the slideshow. The captions tell the story.&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;strong&gt;&lt;a title=&quot;Warp3D Driver Development in Pictures&quot; href=&quot;https://hdrlab.org.nz/[sitetree_link id=359]&quot;&gt;Click Here to Go to the Gallery Page&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;NOTE: Occasionally the gallery page's lightbox doesn't open, and you get redirected to the image file instead. When that happens, reload the &lt;a title=&quot;Warp3D Driver Development in Pictures&quot; href=&quot;https://hdrlab.org.nz/[sitetree_link id=359]&quot;&gt;gallery page&lt;/a&gt;, and try again. Usually the javascript is loaded properly the second time round.&lt;/p&gt;</description>
			<pubDate>Sat, 08 Aug 2015 16:41:32 +0000</pubDate>
			
			
			<guid>https://hdrlab.org.nz/projects/amiga-os-4-projects/radeonhd-driver/radeonhd-development-log/warp3d-driver-development-in-pictures-the-w3d-si-driver/</guid>
		</item>
		
		<item>
			<title>Composited Video (Radeon HD driver version 2.x)</title>
			<link>https://hdrlab.org.nz/projects/amiga-os-4-projects/radeonhd-driver/radeonhd-development-log/composited-video-radeon-hd-driver-version-2-x/</link>
			<description>&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;img class=&quot;right&quot; src=&quot;https://hdrlab.org.nz/assets/Projects/RadeonHD/_resampled/resizedimage200112-Sintel-MPlayer-Screenshot.jpg&quot; width=&quot;200&quot; height=&quot;112&quot; alt=&quot;&quot; title=&quot;&quot;/&gt;Version 2.4 of the driver was announced and released a while ago, so this post is on the late side. In fact, I almost forgot to write it (I did the work for this release a while ago). However, adding composited video is a major milestone so this development log wouldn't be complete without at least mentioning it.&lt;/p&gt;
&lt;h3 style=&quot;text-align: justify;&quot;&gt;Faster Video Playback Via Composited Video&lt;/h3&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;The key goal for version 2.x was to improve video playback with Radeon HD cards. Video playback is an area in which we have been lacking, which is why A-EON Technology contacted me in early 2014 to commission this project.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;Unlike older Radeon cards, Radeon HD graphics cards don't have overlay hardware (to the best of my knowledge). Hardware overlay is an old and rather obsolete method to accelerate video playback by allowing video frames to be displayed directly in their native YUV format.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;Rather than try to emulate overlay using the GPU, I opted to add support for YUV formats directly into AmigaOS' CompositeTags() function. I call this &quot;composited video,&quot; and it combines the advantages of &quot;textured video&quot; (the overlay replacement on other OSes) with all the power of compositing.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;Some key features/advantages of composited video are:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Accelerates video playback by enabling planar YUV video frames to be rendered directly to a screen/window/bitmap&lt;/li&gt;
&lt;li&gt;No limit to how many videos can be displayed simultaneously (overlay is restricted to 1-2 hardware surfaces)&lt;/li&gt;
&lt;li&gt;Can be rendered anywhere, from full-screen to multiple videos in a webpage (on AmigaOS, overlay is restricted to a window)&lt;/li&gt;
&lt;li&gt;Supports both SD and HD YUV video standards, and even custom YUV to RGB transformation matrices (NOTE: you can exploit this to get brightness, contrast &amp;amp; saturation adjustment for free)&lt;/li&gt;
&lt;li&gt;Can use alpha blending for combining video with other graphics; this  allows subtle anti-aliased blending, unlike overlay's on/off  colour-keying&lt;/li&gt;
&lt;li&gt;Can use video frames directly with the full power of CompositeTags(); this includes alpha blending, rotation, warping, cross-fades, vertex-arrays, etc. &lt;/li&gt;
&lt;/ul&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;The last item in the list above introduces a whole set of unique possibilities that previously weren't possible. It could be used for much more than just faster video display; it could be used for real-time video effects, from cross-fades to 3D transitions and more. You could even project video frames into the &lt;a title=&quot;Composite3DDemo&quot; href=&quot;https://hdrlab.org.nz/[sitetree_link id=335]&quot;&gt;Composite3DDemo&lt;/a&gt; if you wanted to; yes, even wrapped around the ball (although, good luck watching the video that way ;-) ).&lt;/p&gt;
&lt;h3 style=&quot;text-align: justify;&quot;&gt;How Does it Improve Performance?&lt;/h3&gt;
&lt;p&gt;Composited video (and overlay) improve performance in two ways:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;It reduces the bandwidth required to copy video frames to the graphics card (YUV420p bitmaps are 37.5% the size of an equivalent 32-bit RGBA bitmap)&lt;/li&gt;
&lt;li&gt;It shifts the task of converting from YUV to RGB (the graphics card's native format) from the CPU to the GPU. The GPU is better suited to this task, and it frees the CPU up to work on other things, like decoding the next frame&lt;/li&gt;
&lt;/ul&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;The net result is that it takes less processing power and bus bandwidth to display the same video.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;What is YUV? And why do video files use that format? Basically, the Y channel stores a pixel's brightness/luminance, while the U &amp;amp; V channels store the colour information. Video files use this format instead of RGB, because humans see brightness differences at a higher resolution than grayscale. So, we can get away with storing the colour channels at a lower resolution than the brightness without people noticing it. Effectively, we've compressed the video frame while maintaining high visual quality.&lt;/p&gt;
&lt;h3 style=&quot;text-align: justify;&quot;&gt;AmigaOS 4.1 Final Edition &amp;amp; DMA&lt;/h3&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;This has nothing to do with the RadeonHD driver, but it's still part of the project to improve video playback. Since the video is still being decoded by the CPU, the speed at which video frames are copied to the graphics card directly affects performance. With the A1-X1000 (as at 10 January 2015, the most powerful AmigaOS machine), this was still being done by the CPU.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;So, A-EON asked me to add DMA support to the graphics library for the A1-X1000. This had been done previously for ACube's Sam4x0 series. The results speak for themselves:&lt;/p&gt;
&lt;div class=&quot;captionImage center&quot; style=&quot;width: 500px;&quot;&gt;&lt;img class=&quot;center&quot; src=&quot;https://hdrlab.org.nz/assets/Projects/RadeonHD/R1527MemCopy500300.png&quot; alt=&quot;GfxBench2D MemCopy result&quot; width=&quot;500&quot; height=&quot;300&quot; title=&quot;&quot;/&gt;&lt;p class=&quot;caption&quot;&gt;Comparing DMA accelerated WritePixelArray and ReadPixelArray with CPU based coping algorithms (hardware: A1-X1000 and Radeon HD R9 270).&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;As part of this project I optimized the process of copying full bitmaps to/from VRAM. Sam460ex users also benefit from this change.&lt;/p&gt;
&lt;h3 style=&quot;text-align: justify;&quot;&gt;Results &amp;amp; Final Comments&lt;/h3&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;The net result of composited video and the DMA enhancements in AmigaOS 4.1 Final Edition, is faster video playback. In particular, A1-X1000 users can now play HD videos. Full 1080p video playback performance depends on the video codec. I had almost 50% CPU power to spare when playing a 1080p DIVX of Big Buck Bunny (see the screenshot below). H.264 encoded videos are a bit more hit and miss. Some 1080p H.264 videos play fine, while others are encoded with computationally intensive settings that are too much. Still, it's a big step up from what we used to have.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;I'd like to quickly thank Kjetil, Stephen, and other developers who have worked hard (and are still doing so) to add composited video support to their software. Driver features only benefit users when applications make use of them.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;What's next? Well, it would be great if we could use the video decoder that's built in to all Radeon HD cards. That would allow full HD playback of even the most demanding H.264 video. Yes, even with a lowly Sam440. That's quite a project, though. In the meantime, enjoy the improved video playback!&lt;/p&gt;
&lt;div class=&quot;captionImage center&quot; style=&quot;width: 500px;&quot;&gt;&lt;a title=&quot;Click to view at full resolution&quot; href=&quot;http://keasigmadelta.co.nz/assets/Projects/RadeonHD/BigBuckBunny-MPlayer-Screenshot.jpg&quot; target=&quot;_blank&quot;&gt;&lt;img class=&quot;center&quot; src=&quot;https://hdrlab.org.nz/assets/Projects/RadeonHD/_resampled/resizedimage500281-BigBuckBunny-MPlayer-Screenshot.jpg&quot; alt=&quot;Big Bucj bunny 1080p being played in realtime on AmigaOS 4.1&quot; title=&quot;Click to view at full resolution&quot; width=&quot;500&quot; height=&quot;281&quot;/&gt;&lt;/a&gt;
&lt;p class=&quot;caption&quot;&gt;A 1080p video being played in real-time on an A1-X1000 using composited video, with plenty of processing power to spare.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt; &lt;/p&gt;</description>
			<pubDate>Fri, 09 Jan 2015 19:22:25 +0000</pubDate>
			
			
			<guid>https://hdrlab.org.nz/projects/amiga-os-4-projects/radeonhd-driver/radeonhd-development-log/composited-video-radeon-hd-driver-version-2-x/</guid>
		</item>
		
		<item>
			<title>The AmigaOS 4.x Radeon HD Driver Reaches Version 1.0</title>
			<link>https://hdrlab.org.nz/projects/amiga-os-4-projects/radeonhd-driver/radeonhd-development-log/the-amigaos-4-x-radeon-hd-driver-reaches-version-1-0/</link>
			<description>&lt;p style=&quot;text-align: justify;&quot;&gt;Yes, it's official; the AmigaOS 4.x Radeon HD driver is no longer in beta. As announced in &lt;a title=&quot;RadeonHD Version 1.0 Released&quot; href=&quot;http://a-eon.com/?news=27-03-2014&quot;&gt;A-EON Technology's press release&lt;/a&gt;, version 1.0 has been released. This milestone marks the end of years of hard work and extensive testing.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;Version 1.0 incorporates some bug fixes and enhancements that were made since the last public release, which was 1.0 RC2 (0.57). These changes span two internal release candidates that beta testers have put through their paces over the last few months. The most serious of these bugs was one that could cause a deadlock when the RadeonHD_RM.resource's memory management system was in use (by 3D drivers, or the RHDRMTest2 test program).** While this bug was largely irrelevant until 3D drivers arrive (and the system runs out of VRAM), I felt that it had to be fixed before version 1.0 could be released.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;Here are the list of changes since the last public release:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Resolved an issue which could cause a deadlock when the RadeonHD_RM.resource's memory management was used (locked up RHDRMTest2)&lt;/li&gt;
&lt;li&gt;WaitIdle() now locks the command processor to ensure that it really is idle on exit, and prevents a very rare infinite loop from occurring&lt;/li&gt;
&lt;li&gt;Now lower Evergreen+ clocks down to initial values for initialisation after a soft-reset (helps with some tricky RadeonHD cards)&lt;/li&gt;
&lt;li&gt;Fixed a bug in the code to get the graphics card's ROM&lt;/li&gt;
&lt;li&gt;Disabled compositing for 16-bit target bitmaps/screens with Radeon HD 7xxx series cards (did not work correctly due to a hardware limitation of these cards)&lt;/li&gt;
&lt;/ul&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;It has been a long journey to get to this point, and it's feels great to have reached this milestone. I hope that users have fun using their systems, even while they wait for 3D drivers to arrive. The journey's not over yet, so be sure to enjoy the ride.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt; &lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;** The RadeonHD_RM.resource provides external 3D drivers with shared access to the Radeon HD's GPU and VRAM.&lt;/p&gt;
&lt;div id=&quot;_mcePaste&quot; style=&quot;position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;&quot;&gt;1.0&lt;/div&gt;</description>
			<pubDate>Tue, 01 Apr 2014 19:02:54 +0000</pubDate>
			
			
			<guid>https://hdrlab.org.nz/projects/amiga-os-4-projects/radeonhd-driver/radeonhd-development-log/the-amigaos-4-x-radeon-hd-driver-reaches-version-1-0/</guid>
		</item>
		
		<item>
			<title>Radeon HD 6450 vs Radeon 9250 - The Compositing Showdown</title>
			<link>https://hdrlab.org.nz/projects/amiga-os-4-projects/radeonhd-driver/radeonhd-development-log/radeon-hd-6450-vs-radeon-9250-the-compositing-showdown/</link>
			<description>&lt;p style=&quot;text-align: justify;&quot;&gt;Occasionally I see comments on AmigaOS related forums asking what advantage Radeon HD cards have right now (NOTE: When writing this, 3D drivers were still not available). While this question will soon be irrelevant when the &lt;a title=&quot;Warp3D Radeon HD Driver Press Release&quot; href=&quot;http://www.a-eon.com/?news=20-10-2012&quot;&gt;Warp3D drivers&lt;/a&gt; arrive, it is a legitimate question. Well, today I was sent a link to a &lt;a title=&quot;Parallax Scroller test - Radeon 9250 vs Radeon HD 6450 on a Sam 440-flex&quot; href=&quot;http://www.youtube.com/watch?v=wUg-6I9cizo&quot;&gt;youtube video&lt;/a&gt; that gives a pretty clear answer to that question:&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;iframe src=&quot;http://www.youtube.com/embed/wUg-6I9cizo&quot; width=&quot;500&quot; height=&quot;281&quot; frameborder=&quot;0&quot;&gt; &lt;/iframe&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;a title=&quot;Parallax Scroller test - Radeon 9250 vs Radeon HD 6450 on a Sam 440-flex&quot; href=&quot;http://www.youtube.com/watch?v=wUg-6I9cizo&quot;&gt;Direct link to youtube video&lt;/a&gt;. NOTE: It is worth watching this video in HD.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;This video comes courtesy of Frank Menzel, one of the talented individuals behind &lt;a title=&quot;AmiBoing&quot; href=&quot;http://amiboing.de&quot;&gt;AmiBoing&lt;/a&gt;. &lt;a title=&quot;AmiBoing&quot; href=&quot;http://amiboing.de&quot;&gt;AmiBoing&lt;/a&gt; (or &lt;a title=&quot;Entwickler-X&quot; href=&quot;http://http://www.entwickler-x.de&quot;&gt;Entwickler-X&lt;/a&gt;) have produced a number of games that are well polished audiovisually, and take advantage of AmigaOS 4.1's compositing feature.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;This video shows the performance of a parallax scroller on a Radeon 9250, and a Radeon HD 6450 on a Sam440-flex machine. There are multiple parallax layers, and plenty of high resolution bitmaps/textures. It looks like this is the beginnings of a new game... but, I digress.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;The results are very conclusive:&lt;/p&gt;
&lt;table border=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Test Conditions&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Radeon 9250&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Radeon HD 6450&lt;br/&gt;&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Performance Increase **&lt;br/&gt;&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Windowed mode (800x600 on a 1920x1080 screen)&lt;br/&gt;&lt;/td&gt;
&lt;td&gt; 22 fps (39 fps at end with fewer objects)&lt;br/&gt;&lt;/td&gt;
&lt;td&gt; 74 fps (96 fps at end)&lt;br/&gt;&lt;/td&gt;
&lt;td&gt; 236%&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Full-screen 1920x1080 (i.e., full HD)&lt;br/&gt;&lt;/td&gt;
&lt;td&gt; 1-3 fps (14 fps at end)&lt;br/&gt;&lt;/td&gt;
&lt;td&gt; 31 fps (50 fps at end)&lt;br/&gt;&lt;/td&gt;
&lt;td&gt; 1450%&lt;/td&gt;
&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;** NOTE: The performance increase column measures the change in fps, not the absolute fps difference. For example, The Radeon HD 6450's fps is actually 336% of the Radeon 9250's fps, but the change in fps is 236%.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;Clearly, there is no contest; the Radeon HD 6450 leaves the Radeon 9250 in the dust. The Radeon HD 6450 can render the scroller at full HD at smooth framerates whereas, it bumbles along at ~1-3 fps on a Radeon 9250. If this were a game, then it would only be playable in full HD using the 6450.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;One thing that I must stress is that both of the test cards are low-end in their respective families. Added to that, the Radeon HD 6450 was further hampered by a PCI-to-PCIe bridge (it was tested on a lowly Sam440-flex, which doesn't have PCI-Express slots). Mid to high-end Radeon HD cards are much more powerful than the 6450, so imagine what these are capable of.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;What these results show, is that the Radeon HD cards really are a game changer. The extra performance opens up new possibilities for developers. Plus, the game will change yet again when full OpenGL support unlocks the full potential of their GPUs.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;I'm very much looking forward to not only 3D drivers for these cards, but what developers will do with the new possibilities.&lt;/p&gt;</description>
			<pubDate>Mon, 19 Nov 2012 13:29:11 +0000</pubDate>
			
			
			<guid>https://hdrlab.org.nz/projects/amiga-os-4-projects/radeonhd-driver/radeonhd-development-log/radeon-hd-6450-vs-radeon-9250-the-compositing-showdown/</guid>
		</item>
		
		<item>
			<title>Full Acceleration Support for Radeon HD 7000 series</title>
			<link>https://hdrlab.org.nz/projects/amiga-os-4-projects/radeonhd-driver/radeonhd-development-log/full-acceleration-support-for-radeon-hd-7000-series/</link>
			<description>&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;img class=&quot;left&quot; src=&quot;https://hdrlab.org.nz/assets/Projects/RadeonHD/_resampled/resizedimage150126-48832FAMDrLERGB.png&quot; alt=&quot;AMD Radeon Graphics Logo&quot; title=&quot;AMD Radeon Graphics Logo&quot; width=&quot;150&quot; height=&quot;126&quot;/&gt;I'm pleased to announce (together with &lt;a title=&quot;New RadeonHD Series 7 Support&quot; href=&quot;http://www.a-eon.com/?news=03-10-2012&quot;&gt;A-EON Technology&lt;/a&gt;) that the RadeonHD driver for AmigaOS 4.x now fully supports the Radeon HD 7000 series (Southern Islands chipsets). Full 2D acceleration including compositing has been implemented. This is another major milestone as the driver now supports the very latest graphics cards in the Radeon HD range. You can't get newer or more cutting edge than that. The RadeonHD_RM.resource also supports the 7000 series (a necessity for 2D acceleration too), which means that this latest series is also &lt;a title=&quot;RadeonHD driver ready for 3D&quot; href=&quot;https://hdrlab.org.nz/[sitetree_link id=347]&quot;&gt;ready for its 3D drivers&lt;/a&gt;. This completes everything that was planned for version 1 of the driver.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;Registered users will be able to &lt;a title=&quot;Download the RadeonHD driver&quot; href=&quot;http://www.a-eon.com/?page=download&amp;amp;os=amigaos&quot;&gt;download the update&lt;/a&gt; soon, while others can &lt;a title=&quot;Buy the RadeonHD driver for AmigaOS&quot; href=&quot;http://www.a-eon.com/?page=radeonhd&quot;&gt;purchase the driver from A-EON&lt;/a&gt;.&lt;/p&gt;
&lt;h3 style=&quot;text-align: justify;&quot;&gt;It's Tough Without Documentation&lt;/h3&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;Implementing Southern Islands GPU (Radeon HD 7000 series) support was a long and, at times, difficult endeavour. To begin with, this was the first of their &lt;a title=&quot;AMD Graphic Core Next Architecture&quot; href=&quot;http://www.amd.com/us/products/technologies/gcn/Pages/gcn-architecture.aspx&quot;&gt;Graphic Core Next (GCN) architecture&lt;/a&gt;, which mark some large-scale changes. The GPU's Instruction Set Architecture (ISA) was completely changed from previous Radeon HD generations. Complicating matter further was AMD's slowness in releasing the documentation for this new architecture.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;With no documentation I had no choice but to fall back to using AMD's own code (in the Linux drivers) as documentation. Unfortunately, AMD decided that the EXA driver was obsolete, and all acceleration - both 2D and 3D - was going to go via Gallium 3D. From their viewpoint this was a completely logical decision, and I truly wish that I could have followed suit. However, the Gallium3D port for AmigaOS was still a work-in-progress, and, the Gallium3D driver for Southern Islands GPUs (radeonsi) was (and still is, as at 5 October 2012) not yet usable. As a result, I couldn't follow their lead, and neither did I have example 2D acceleration code to use as a reference. 2D acceleration code is much simpler and easier to follow than 3D driver code.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;As you can see, the situation was rather difficult, but that wasn't going to stop me. I managed to decipher parts of the Southern Islands ISA via what I could glean from AMD's GCN presentations, and from the &lt;a title=&quot;Low Level Virtual Machine&quot; href=&quot;http://llvm.org/&quot;&gt;LLVM&lt;/a&gt; descriptor files in the radeonsi driver. From this I created a (very large) set of C macros, so that I could hand-assemble Southern Islands shader code. At this point things became a little easier, because the Southern Islands ISA is much easier to use than the ISA for previous generations. Eventually, I got the solid fill shader working, and then the other blitter shaders. Good progress.&lt;/p&gt;
&lt;h3 style=&quot;text-align: justify;&quot;&gt;Baffling Behaviour&lt;/h3&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;img class=&quot;right&quot; src=&quot;https://hdrlab.org.nz/assets/Projects/RadeonHD/RHD7770-composite-bug.jpg&quot; alt=&quot;RHD7770 Compositing Bug&quot; title=&quot;RHD7770 Compositing Bug&quot; width=&quot;326&quot; height=&quot;253&quot;/&gt;Getting the blitter acceleration working was great, but that success soured quickly when the time came to implement compositing. The &lt;a title=&quot;Composite3DDemo&quot; href=&quot;https://hdrlab.org.nz/[sitetree_link id=335]&quot;&gt;power of AmigaOS' compositing feature&lt;/a&gt; comes at the cost of greater driver complexity when compared to simple blitter functions. This means both more complicated driver code, and more complicated shaders. That, however, wasn't the biggest problem. After a while the compositing code eventually passed all of the basic tests; but, there were ugly vertical green and blue lines all over the place. Even worse, my Radeon HD 7770 would lock up within a few seconds when compositing was being used a lot unless it was underclocked by about 5%.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;Try as I might, after weeks of effort I still could not find a solution to these two problems. After some email discussion with AMD software developers, I discovered that their radeonsi (Gallium3D) driver also suffered from the same vertical line problem. This only occurred if alpha blending was being used. So, the decision was made to put aside Southern Islands GPU support for a while. I asked the guys at AMD to let me know if they found a solution. In the meantime, I switched back to working on the memory management part of the RadeonHD_RM.resource, which was the last task needed to get the &lt;a title=&quot;RadeonHD_RM.resource Test 2 (VRAM paging)&quot; href=&quot;https://hdrlab.org.nz/[sitetree_link id=347]&quot;&gt;driver ready for 3D&lt;/a&gt;.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;img class=&quot;left&quot; src=&quot;https://hdrlab.org.nz/assets/Projects/RadeonHD/Composite-correct.jpg&quot; alt=&quot;Compositing Correct&quot; title=&quot;Compositing Correct&quot; width=&quot;288&quot; height=&quot;250&quot;/&gt;Eventually, I got an email from an AMD software developer who had discovered what was going wrong, and had found a solution. As it turned out, the shader export format that we had both used in our drivers was incompatible with 32-bit ARGB pixel formats. After changing the shader export format, compositing worked as it should. Well, almost. All blitter functions had to be updated to use the correct shader export format, as using the wrong format was corrupting the alpha channels of bitmaps. With that done, compositing worked as it should.&lt;/p&gt;
&lt;h3 style=&quot;text-align: justify;&quot;&gt;Power Problems&lt;/h3&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;Alas, the battle was won, but the war was not quite over. Solving the compositing problem did not eliminate the GPU lockup problem as was hoped. My Radeon HD 7770 worked just fine in an x86 PC, so it was definitely a driver bug. The problem was eventually traced to a bug in the power table parsing code, which failed to transform a voltage tag to an actual voltage. As a result, when the driver ramped up the GPU' clock to full speed, the voltage was left at a minimal value. Running at high frequency but low voltage is a recipe for instability.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;NOTE: Radeon HD 6000 and 7000 series cards initially start at minimal frequencies (GPU: 300 MHz, VRAM: 150 MHz) and voltages, because the BIOS/firmware does not have the microcode needed to set up the memory controllers. So, leaving the settings at their default is &lt;strong&gt;&lt;em&gt;not&lt;/em&gt;&lt;/strong&gt; an option.&lt;/p&gt;
&lt;h3 style=&quot;text-align: justify;&quot;&gt;Victory!&lt;/h3&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;With the power table parsing bug fixed Radeon HD 7000 series was finally done. Everything worked as it should and there were no more lockups. Victory at last!&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;Implementing 7000 series support has been quite the (long) rollercoaster ride, but the effort was definitely worth it in the end. AmigaOS can now use the very latest in graphic card technology.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;a title=&quot;Click to view at full resolution&quot; href=&quot;https://hdrlab.org.nz/assets/Projects/RadeonHD/RHD7770-Workbench.jpg&quot; target=&quot;_blank&quot;&gt;&lt;img class=&quot;center&quot; src=&quot;https://hdrlab.org.nz/assets/Projects/RadeonHD/_resampled/resizedimage500281-RHD7770-Workbench.jpg&quot; alt=&quot;Radeon HD 7770 Workbench&quot; title=&quot;Radeon HD 7770 Workbench&quot; width=&quot;500&quot; height=&quot;281&quot;/&gt;&lt;/a&gt;&lt;/p&gt;</description>
			<pubDate>Thu, 04 Oct 2012 17:20:58 +0000</pubDate>
			
			
			<guid>https://hdrlab.org.nz/projects/amiga-os-4-projects/radeonhd-driver/radeonhd-development-log/full-acceleration-support-for-radeon-hd-7000-series/</guid>
		</item>
		
		<item>
			<title>RadeonHD_RM.resource Test 2 (VRAM paging)</title>
			<link>https://hdrlab.org.nz/projects/amiga-os-4-projects/radeonhd-driver/radeonhd-development-log/radeonhd-rm-resource-test-2-vram-paging/</link>
			<description>&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;a title=&quot;Radeon HD driver update&quot; href=&quot;http://www.a-eon.com/?news=18-09-2012&quot;&gt;A-EON  Technology has just released version  0.53 of the RadeonHD driver&lt;/a&gt; for  AmigaOS 4.x to registered users. This version adds the following:&lt;/p&gt;
&lt;ul style=&quot;text-align: justify;&quot;&gt;&lt;li&gt;VRAM buffer paging;&lt;/li&gt;
&lt;li&gt;Partial Radeon HD 7000 series (Southern Islands chipsets) graphics acceleration; and&lt;/li&gt;
&lt;li&gt;The RadeonHD_RM.resource is enabled for outside use (i.e., enabled for 3D driver use).&lt;/li&gt;
&lt;/ul&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;In   short, &lt;strong&gt;this version is ready for 3D drivers&lt;/strong&gt;. This almost brings the driver up   to what was planned for version 1. I say almost, because compositing   support for Radeon HD 7000 series cards is still missing.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;Also released are two test programs. The first is the original RadeonHD_RM.resource test program, which I &lt;a title=&quot;The RadeonHD_RM.resource&quot; href=&quot;https://hdrlab.org.nz/[sitetree_link id=331]&quot;&gt;presented back in October 2011&lt;/a&gt;. The second is called RHDRMTest2, which is a new test program that was written specifically to test the new VRAM buffer paging feature.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;Registered users of the RadeonHD driver can try these programs out for themselves, provided that they have a Radeon HD 4000 series graphics card (they might work on Radeon HD 2000-3000 series cards). Everyone else can see what it looks like in the &lt;a title=&quot;Video of RHDRMTest2 &quot; href=&quot;https://hdrlab.org.nz/#RHDRMTest2_Video&quot;&gt;video below&lt;/a&gt;.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt; &lt;/p&gt;
&lt;h3 style=&quot;text-align: justify;&quot;&gt;VRAM Buffer Paging&lt;/h3&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;VRAM buffer paging is a feature that allows more VRAM to be allocated than physically exists. When this happens, the driver will store the least used buffers in RAM, and intelligently page buffers into VRAM when the graphics card needs them. Buffers can be textures, shaders, vertex buffers, or other data that the graphics card uses. You can think of it as a form of virtual memory for graphics cards. It allows the system to continue to work even when there isn't enough physical VRAM available for demands, albeit with reduced performance (copying to/from VRAM takes time away from other tasks).&lt;/p&gt;
&lt;h3 style=&quot;text-align: justify;&quot;&gt;RHDRMTest2 - Confirming that VRAM Buffer Paging Works&lt;a name=&quot;RHDRMTest2&quot;&gt; &lt;/a&gt;&lt;/h3&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;RHDRMTest2 is an updated version of the &lt;a title=&quot;The RadeonHD_RM.resource&quot; href=&quot;https://hdrlab.org.nz/[sitetree_link id=331]&quot;&gt;original RadeonHD_RM.resource test program&lt;/a&gt;, that includes z-buffer and hardware clipping support. This renders a 3D scene with more texture and vertex data than can fit into VRAM, thus putting the VRAM buffer paging system through its paces. In theory I could have created a boring artificial test, but I wanted something that at behaved closer to how a real 3D engine would. This meant creating a proper mini 3D graphics engine; one with the following features.&lt;/p&gt;
&lt;ul style=&quot;text-align: justify;&quot;&gt;&lt;li&gt; GPU based 3D Transformation, Clipping, and Lighting;&lt;/li&gt;
&lt;li&gt;Single-layer transparency rendering;&lt;/li&gt;
&lt;li&gt;Hardware Z-buffer support;&lt;/li&gt;
&lt;li&gt; Per-pixel lighting (3 lights, each rendered in its own render pass, and one controlled by the mouse)&lt;br/&gt; Bump-mapping;&lt;/li&gt;
&lt;li&gt; Wavefront .obj model loading; and&lt;/li&gt;
&lt;li&gt; Bounding sphere based visibility culling.&lt;/li&gt;
&lt;/ul&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;The result is a 3D animation with real 3D objects (as opposed to the &lt;a title=&quot;The RadeonHD_RM.resource&quot; href=&quot;https://hdrlab.org.nz/[sitetree_link id=331]&quot;&gt;original test program&lt;/a&gt;'s simple cube and rectangles):&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;HINT: Best viewed fullscreen in HD.&lt;a name=&quot;RHDRMTest2_Video&quot;&gt; &lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;iframe src=&quot;http://www.youtube.com/embed/KKZ6PhtpudU&quot; width=&quot;500&quot; height=&quot;281&quot; frameborder=&quot;0&quot;&gt;&amp;amp;amp;amp;amp;amp;amp;amp;nbsp;&lt;/iframe&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;You can also view the &lt;a title=&quot;RadeonHD_RM.resource Test 2 (driver VRAM paging test) &quot; href=&quot;http://youtu.be/KKZ6PhtpudU&quot;&gt;video on youtube&lt;/a&gt;.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;NOTE: A big thank you to &lt;a title=&quot;Hostcove's Youtube Channel&quot; href=&quot;http://www.youtube.com/user/hostcove&quot;&gt;hostcove&lt;/a&gt; for helping to deliver a high quality video that was not made by pointing a camera at the screen.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;As you can see, it renders the animation pretty smoothly, with the exception of hiccups when a fair amount of VRAM buffer paging is going on. More importantly, the test/demo keeps on going. There is no crash, no &quot;out of VRAM&quot; error, or any other failure. This is exactly what was expected.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;When one object is removed from RHDRMTest2's virtual world then all of the data fits into VRAM, and the animation is rendered smoothly:&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;HINT: Best viewed fullscreen in HD.&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;iframe src=&quot;http://www.youtube.com/embed/0i07gnux42E&quot; width=&quot;500&quot; height=&quot;281&quot; frameborder=&quot;0&quot;&gt;&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;nbsp;&lt;/iframe&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;As with the first video, you can also view this &lt;a title=&quot;RadeonHD_RM.resource Test 2 (no VRAM paging) &quot; href=&quot;http://youtu.be/0i07gnux42E&quot;&gt;video on youtube&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The  3D scene in this test/demo contains round 100,000 triangles, of which up to 50,000 or so  can be visible on-screen at any one time. However, it renders the  entire scene 4 times; once for ambient lighting, and once for each light  (not the most efficient method, but it works). So, it's actually  rendering up to 200,000 triangles per frame. That is far beyond anything  that any Warp3D program has ever achieved.&lt;/p&gt;
&lt;p&gt;Despite all of this,  the renderer is actually still very primitive. Bounding-box based visibility culling is the &lt;strong&gt;only&lt;/strong&gt; optimization that is implemented. It has no mip-mapping,  no level of detail control, no advanced lighting (e.g., deferred  lighting), or any of the other techniques that allow modern game engines  to render huge worlds in stunning detail at good grame-rates. I'm  looking forward to seeing what developers can/will do once Gallium3D + OpenGL 2+ is  available for AmigaOS 4.x.&lt;/p&gt;
&lt;p&gt;Bring on the 3D drivers!&lt;/p&gt;</description>
			<pubDate>Tue, 11 Sep 2012 02:28:06 +0000</pubDate>
			
			
			<guid>https://hdrlab.org.nz/projects/amiga-os-4-projects/radeonhd-driver/radeonhd-development-log/radeonhd-rm-resource-test-2-vram-paging/</guid>
		</item>
		
		<item>
			<title>Updating the RadeonHD Driver Compatibility List</title>
			<link>https://hdrlab.org.nz/projects/amiga-os-4-projects/radeonhd-driver/radeonhd-development-log/Updating-the-RadeonHD-Driver-Compatibility-List/</link>
			<description>&lt;p style=&quot;text-align: justify;&quot;&gt;I hope that people are enjoying the &lt;a title=&quot;Buy the Radeon HD driver from A-Eon Technology&quot; href=&quot;http://a-eon.com/?page=radeonhd&quot; target=&quot;_blank&quot;&gt;updated RadeonHD driver&lt;/a&gt; with Radeon HD 5000 and 6000 series support. While most of the feedback has been good, there have been a few reports of problems with a few specific graphics card models. Given that the driver supports such a wide range of cards (from the Radeon X1000 series through to the Radeon HD 6000 series), it is inevitable that some specific models will have trouble.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;While the problems with specific models should be solved eventually, it would be much easier for people to simply buy a model that is known to work. The &lt;a title=&quot;RadeonHD driver hardware compatibility list&quot; href=&quot;https://hdrlab.org.nz/[sitetree_link id=289]&quot; target=&quot;_blank&quot;&gt;RadeonHD driver hardware compatibility list&lt;/a&gt; exists exactly for this purpose. It lists the cards that have been tested, indicating if they work properly or not. If you are planning to buy a Radeon HD card for use with AmigaOS, please check out &lt;a title=&quot;RadeonHD driver hardware compatibility list&quot; href=&quot;https://hdrlab.org.nz/[sitetree_link id=289]&quot; target=&quot;_blank&quot;&gt;this list&lt;/a&gt; first.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;NOTE: Please also look at the &lt;a title=&quot;RadeonHD driver motherboard compatibility list&quot; href=&quot;https://hdrlab.org.nz/[sitetree_link id=289]#Motherboards&quot; target=&quot;_blank&quot;&gt;motherboards section of the compatibility list&lt;/a&gt;, as not all motherboards are able to handle Radeon HD cards properly.&lt;/p&gt;
&lt;h3 style=&quot;text-align: justify;&quot;&gt;Help Needed&lt;/h3&gt;
&lt;p&gt;The compatibility list is only as good as the information provided. Since there is no way that I could ever test all available hardware, I need your help. If you have a card that is not on this list, or whose entry is incorrect, then please post the &lt;strong&gt;full&lt;/strong&gt; details to &lt;a title=&quot;RadeonHD Hardware Compatibility List Discussion Thread&quot; href=&quot;http://hdrlab.org.nz/forums/amiga-os-projects/show/105&quot;&gt;this thread&lt;/a&gt;, or send them via &lt;a title=&quot;Contact&quot; href=&quot;https://hdrlab.org.nz/[sitetree_link id=3]&quot;&gt;email&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The details required are:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Manufacture; &lt;/li&gt;
&lt;li&gt;Model name; &lt;/li&gt;
&lt;li&gt;The manufacturer's ID (if available; &lt;/li&gt;
&lt;li&gt;The newest version of the driver that it was tested with; and &lt;/li&gt;
&lt;li&gt;If it works, and any pertinent notes (e.g., if it partially works, describe what works and doesn't).&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Thanks in advance for your help in keeping this list up-to-date.&lt;/p&gt;</description>
			<pubDate>Wed, 05 Sep 2012 20:15:54 +0000</pubDate>
			
			
			<guid>https://hdrlab.org.nz/projects/amiga-os-4-projects/radeonhd-driver/radeonhd-development-log/Updating-the-RadeonHD-Driver-Compatibility-List/</guid>
		</item>
		
		<item>
			<title>RadeonHD 5000 and 6000 Support</title>
			<link>https://hdrlab.org.nz/projects/amiga-os-4-projects/radeonhd-driver/radeonhd-development-log/new-blogentry/</link>
			<description>&lt;p style=&quot;text-align: justify;&quot;&gt;The &lt;a title=&quot;Over the Rainbow&quot; href=&quot;http://a-eon.com/?news=25-06-2012&quot;&gt;news&lt;/a&gt; is already all over the AmigaOS community; with funding from A-Eon Technology, I'm pleased to deliver 2D support for Radeon HD 5000 and 6000 series cards. Support for the Radeon HD 7000 series is also in the works. This is probably the biggest milestone yet in the RadeonHD driver project.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;A few months ago I got an email from Trevor (A-Eon Technology) letting me know that supply of Radeon HD 4000 series cards was getting so scarce that supply could no longer be guaranteed. This made adding support for newer series urgent, and so an agreement was made in order to deliver this As Soon As Possible (ASAP). I was initially disappointed when supply of Radeon HD 4000 series became scarce but now I'm proud of what has been achieved. The RadeonHD driver once again supports some of the latest cards available.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;As part of the agreement, A-Eon Technology has gained exclusive distribution rights for the AmigaOS 4 driver. A1-X1000 customers, who have already paid for a license to the upcoming AmigaOS 4.2 update will receive these updates automatically. Sam460ex customers wanting to upgrade their driver so that they can use newer cards can &lt;a title=&quot;Buy the latest RadeonHD driver&quot; href=&quot;http://a-eon.com/?page=radeonhd&quot;&gt;purchase a license&lt;/a&gt; online.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;I know that paying for drivers will be unpopular with some people, as everyone is used to getting drivers for free. Indeed, I gave this some thought before entering into agreements, as i have received donations to support the driver early on. However, I firmly believe that all those who donated, want to see the RadeonHD driver completed and available ASAP. Unfortunately, while the donations helped with motivation and the purchase of equipment, it was like a drop in the ocean next to the true development cost (measured in how much you'd have to pay a full-time developer). This meant that the driver remained a hobby project, and captive to my ever shrinking &quot;spare time.&quot; ACube supported the project as much as they could, and that did help with a few bursts of accelerated development. Nevertheless, that alone couldn't deliver the results that everyone would like. The driver development continued slowly, and the supported cards that were once brand new, were eventually no longer available. All along, the AmigaOS community continued waiting as patiently as possible. Pace was too slow for you, the community, and too slow for me. The project urgently needed me to work on it for more days per week, but that was just not possible. This was as true a year ago as it was now. We need to regain some momentum, and a donation funded effort was never going to deliver the results that we all want.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;To make matters even more difficult, my own personal situation has changed. I have gone from a university student, to an entrepreneur who is working very hard to start and build a company. This is a major undertaking that is still very much a work-in progress. I was seriously considering having to make the very uncomfortable and disappointing decision to temporarily put the whole RadeonHD driver project on ice, so that I could focus all of my energies on my company. Needless to say, this would not have been good. All AmigaOS 4.x enthusiasts including myself want AmigaOS 4.2 with full OpenGL support ASAP; it's what we've been waiting for.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;So, we have a driver that urgently needs some accelerated development, and ever shrinking spare time to work on it. With major OSes, those &quot;free drivers&quot; are actually paid for by the millions of graphics card purchasers, who fund the manufacturer's own driver development costs. If you purchased a Radeon HD card for your Amiga, you too, paid for Windows, Mac, and Linux drivers, even though you're probably not using them.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;Enter the agreements with A-Eon Technology. These provided funding far beyond what donations or a small bounty ever could. It allowed me to work on the driver several days per week, making real progress. The unavailability of the Radeon HD 4000 series was an added complication and expense, but one that has been overcome. This meant real progress, and support for currently available now instead of in a year's time at the earliest.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;A-Eon Technology naturally needs to recoup their costs, and hence the driver is available for a fee to AmigaOS 4.1 owners. Those with an AmigaOS 4.2 license (i.e., A1-X1000 owners) naturally have already paid for their updates. From my perspective, this was and is the best way forward. In fact, it was pretty much the only way to get the driver finished in an acceptable time-frame. It provided the RadeonHD driver project with a much needed shot in the arm, real progress, real momentum, and most importantly, better drivers for current cards much sooner.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;strong/&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;What has been achieved so far is definitely an achievement, and a huge milestone. I sincerely hope that we can build upon this momentum. Please continue to support all of the AmigaOS 4.x developers and companies involved. We are all hard at work to deliver the best AmigaOS possible.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;Roll on AmigaOS 4.2!&lt;/p&gt;</description>
			<pubDate>Sun, 24 Jun 2012 17:34:50 +0000</pubDate>
			
			
			<guid>https://hdrlab.org.nz/projects/amiga-os-4-projects/radeonhd-driver/radeonhd-development-log/new-blogentry/</guid>
		</item>
		
		<item>
			<title>Radeon HD Vertical Blanking Interrupt Support is Done</title>
			<link>https://hdrlab.org.nz/projects/amiga-os-4-projects/radeonhd-driver/radeonhd-development-log/radeon-hd-vertical-blanking-interrupt-support-is-done/</link>
			<description>&lt;p style=&quot;text-align: justify;&quot;&gt;Thanks to &lt;a title=&quot;RadeonHD: Accelerated Development&quot; href=&quot;https://hdrlab.org.nz/[sitetree_link id=339]&quot;&gt;accelerated development&lt;/a&gt;, Vertical Blanking (VBlank) interrupt support for Radeon HD 2000-4000 cards (R600/R700 chipsets) is now done. If development pace had continued at the old &quot;spare-time project&quot; rate, then this would still be a work-in-progress. VBlank interrupts are used to achieve smooth double-buffered animation. According to one beta tester, &quot;the &lt;a title=&quot;Composite3DDemo&quot; href=&quot;https://hdrlab.org.nz/[sitetree_link id=335]&quot;&gt;3DCompositeDemo&lt;/a&gt; runs a lot more smoothly now with interrupts enabled.&quot;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;Apart from providing smoother animation, this also eliminates the wasting of CPU cycles while waiting for the VBlank period. RadeonHD.chip driver users may have noticed that certain programs (including the &lt;a title=&quot;Composite3DDemo&quot; href=&quot;https://hdrlab.org.nz/[sitetree_link id=335]&quot;&gt;Composite3DDemo&lt;/a&gt;) caused CPU usage to go up to 100%. Well, lack of interrupt support in the driver is the reason why. Without interrupts, waiting for the VBlank period means polling the graphics card, wasting a lot of CPU cycles in the process. With interrupt support implemented, CPU usage with the &lt;a title=&quot;Composite3DDemo&quot; href=&quot;https://hdrlab.org.nz/[sitetree_link id=335]&quot;&gt;Composite3DDemo&lt;/a&gt; drops down to 25-75%, depending on the hardware and resolution.&lt;/p&gt;
&lt;h3 style=&quot;text-align: justify;&quot;&gt;A Complex Interrupt Controller&lt;/h3&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;With Radeon X1000 series cards, VBlank interrupt support was so easy to implement that they weren't even worth mentioning. However, Radeon HD cards are a completely different design. They have a complex interrupt controller that even has its own microcode (which the driver must upload to the controller). Interrupt events are written to a ring-buffer, which the driver must then read and interpret in the interrupt handler. While this setup has its advantages, it is quite a bit more complicated than simple interrupt status registers (which it also has). Additionally, the details of this controller are missing from the documentation. This is why this feature had not yet been implemented.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;Fortunately, AMD provides not only the all-important microcode, but also code to program the interrupt controller (via the open-source Linux drivers). Using this code as a starting point, adding interrupt support proved to be relatively plain sailing. In fact, once all of the code adaptation had been done, it almost worked on the first test. The one mistake that I had made was forgetting to pass on the VBlank interrupt to Picasso96, meaning that programs were left waiting forever. There was also an issue with waiting for interrupts while switching screen-modes (during which time Radeon HD cards don't send VBlank interrupts), but that was solved fairly quickly.&lt;/p&gt;
&lt;h3 style=&quot;text-align: justify;&quot;&gt;What are VBlank Interrupts and how do they Help?&lt;/h3&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;The VBlank period is the small period between outputting the last line of one frame, and starting on the next frame. Back when computer monitors and televisions were &lt;a title=&quot;Cathode Ray Tube&quot; href=&quot;http://en.wikipedia.org/wiki/Cathode_ray_tube&quot;&gt;Cathode Ray Tubes (CRTs)&lt;/a&gt;, this was the brief period during which the electron beam that drew the image onto the screen would quickly be moved up to the top of the screen for the next frame (or field for interlaced displays). Today, this VBlank period is still there. More importantly, this corresponds to the start of a new frame.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;Programs that display animations need to swap one frame (image) for the next during the VBlank period. Failing to perform the swap during that time can result in part of the screen showing an old frame, and the other showing the new one. This is visible as ugly &quot;tearing&quot; artifacts. Thus, the program needs to know when the VBlank period occurs.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;This is where the VBlank interrupt comes in. The graphics card sends an interrupt to the CPU, letting it know that the VBlank period is &lt;em&gt;&lt;strong&gt;now&lt;/strong&gt;&lt;/em&gt;. Next, the OS performs double-buffering and/or lets any program that is waiting for the VBlank period resume execution. The result is smooth and tear-free animation.&lt;/p&gt;
&lt;p&gt;Without VBlank interrupts, the CPU has to poll the graphics card's VBlank state. This wastes CPU cycles, and instantly brings CPU usage to 100% (as mentioned earlier). Apart from being inefficient, it is also less accurate. It's easy to see why VBlank interrupts are superior to polling the hardware (as are interrupts in general).&lt;/p&gt;
&lt;h3 style=&quot;text-align: justify;&quot;&gt;What's Next?&lt;/h3&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;As I said in the &lt;a title=&quot;RadeonHD: Accelerated Development&quot; href=&quot;https://hdrlab.org.nz/[sitetree_link id=339]&quot;&gt;previous development log post&lt;/a&gt;, the next task is implementing Video RAM (VRAM) management for the RadeonHD_RM.resource     (intelligent VRAM buffer paging). This is essential  for stable 3D operation. At present,     if a 3D application were to run  out of VRAM, bad things might     happen. By paging out  textures/buffers that are least likely to be     needed soon, the  drivers will be able to handle &quot;out of VRAM&quot;     situations with ease.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt; &lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;strong&gt;NOTE:&lt;/strong&gt; This development log gives a &quot;behind the scenes look&quot; at the  progress of the RadeonHD driver's development. As such, its contents  reflect the state of the development version of the driver, and &lt;strong&gt;not&lt;/strong&gt; the state of the publicly released version.&lt;/p&gt;</description>
			<pubDate>Mon, 27 Feb 2012 21:29:30 +0000</pubDate>
			
			
			<guid>https://hdrlab.org.nz/projects/amiga-os-4-projects/radeonhd-driver/radeonhd-development-log/radeon-hd-vertical-blanking-interrupt-support-is-done/</guid>
		</item>
		
		<item>
			<title>RadeonHD: Accelerated Development</title>
			<link>https://hdrlab.org.nz/projects/amiga-os-4-projects/radeonhd-driver/radeonhd-development-log/radeonhd-accelerated-development/</link>
			<description>&lt;p style=&quot;text-align: justify;&quot;&gt;I am pleased to announce that Trevor Dickinson (&lt;a title=&quot;A-EON Technology&quot; href=&quot;http://a-eon.com/&quot;&gt;A-EON Technology&lt;/a&gt;) and I have concluded an agreement for continued development of the RadeonHD driver for AmigaOS. I am currently working to get the driver fully ready for 3D, and to     release quality (i.e., to version 1). Thanks to the support of Trevor Dickinson (&lt;a title=&quot;A-EON Technology&quot; href=&quot;http://a-eon.com/&quot;&gt;A-EON Technology&lt;/a&gt;), I will be able to devote more time to RadeonHD driver     development over the next few months, and achieve this goal much     sooner than would otherwise have been the case. &lt;br/&gt;&lt;br/&gt; The features being worked on are:&lt;/p&gt;
&lt;ul style=&quot;text-align: justify;&quot;&gt;&lt;li&gt;Vertical blanking interrupt support for Radeon HD cards (no more     wasting CPU cycles when double-buffering); and&lt;/li&gt;
&lt;li&gt; Video RAM (VRAM) management for the RadeonHD_RM.resource     (intelligent VRAM buffer paging).&lt;/li&gt;
&lt;/ul&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;br/&gt; The last feature is essential for stable 3D operation. At present,     if a 3D application were to run out of VRAM, bad things might     happen. By paging out textures/buffers that are least likely to be     needed soon, the drivers will be able to handle &quot;out of VRAM&quot;     situations with ease. &lt;br/&gt;&lt;br/&gt; I look forward to delivering RadeonHD.chip version 1.x and, of     course, to be able to run modern 3D applications using Radeon HD     cards and AmigaOS.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt; &lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;View the &lt;a title=&quot;&amp;quot;Boing Ball&amp;quot; revisited - part 2&quot; href=&quot;http://www.amigans.net/modules/news/article.php?storyid=1566&quot;&gt;press release&lt;/a&gt; on amigans.net.&lt;/p&gt;</description>
			<pubDate>Sat, 25 Feb 2012 00:27:34 +0000</pubDate>
			
			
			<guid>https://hdrlab.org.nz/projects/amiga-os-4-projects/radeonhd-driver/radeonhd-development-log/radeonhd-accelerated-development/</guid>
		</item>
		
		<item>
			<title>RadeonHD.chip 0.32 - Bug-Fixes and Fully Working 2D</title>
			<link>https://hdrlab.org.nz/projects/amiga-os-4-projects/radeonhd-driver/radeonhd-development-log/radeonhd-chip-0-32-bug-fixes-and-fully-working-2d/</link>
			<description>&lt;p style=&quot;text-align: justify;&quot;&gt;If you've been keeping up-to-date with AmigaOS news, you have no doubt heard that AmigaONE X1000 First Contact machines are now shipping to customers, and that Sam460ex owners (including people with AmigaOne 500s) have received an updated RadeonHD driver. Both groups are using version 0.32 of the RadeonHD.chip driver. This marks another milestone; one that I like to call, fully working 2D.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;This release provides users with full 2D support for all cards from the Radeon X1300 through to the Radeon HD 4890. Previously, Sam460ex users with Radeon HD cards had to make do without hardware accelerated compositing. Now, compositing is available for all supported cards. At this point, 2D support for all chipsets is roughly on par. I say roughly, because a few minor acceleration functions (e.g., line drawing) are still Radeon X1000 series only. However, you are unlikely to notice this, as all of the most important functions are implemented.&lt;/p&gt;
&lt;h3 style=&quot;text-align: justify;&quot;&gt;What's New?&lt;/h3&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;I'm sure that some people will be thinking, &quot;but wasn't compositing for Radeon HD cards done, April 2011?&quot; Well, yes and no. Compositing was indeed operational, but one of the more advanced compositing features - using homogeneous texture coordinates - was missing for all chipsets. In fact, the primary focus of recent development has been fixing bugs. The complete list of changes since the first release is:&lt;/p&gt;
&lt;ul&gt;&lt;li style=&quot;text-align: justify;&quot;&gt;DVI/HDMI output is now supported on Radeon HD 4000 series graphics cards (R700 series chipsets);&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;Compositing supported on Radeon HD graphics cards (R600/R700 chipsets);&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;RV770 (Radeon HD 4850) and mobility Radeon HD chipsets are now supported (fixed the GPU initialisation);&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;Compositing now supports homogeneous texture coordinates with vertex arrays on all supported chipsets (useful for image warping);&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;Eliminated the intermittent graphics glitches that could occur  with R600/R700 chipsets (e.g., yellow screens, fill-rect failure on  8-bit screens;&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;Fixed a bug that could cause some screens misalignement;&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;With interrupts disabled, could get multiple &quot;vertical syncs&quot; in one VBlank period (could cause havoc with timing). FIXED;&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;Fixed a number of R500 (Radeon X1000 series) compositing bugs  that caused various things to be rendered incorrectly (e.g., the  intermittent dark/black separators and backgrounds in AmiDock);&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;The mouse pointer now disappears when it's supposed to (i.e., MouseBlanker works, and SDL games no longer have two pointers);&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;Some R700 GPUs were locking up when compositing &quot;large&quot; vertex arrays. FIXED;&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;Screens that were larger than the display resolution were garbled. FIXED;&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;R500 vertex array clipping was one pixel larger than it was supposed  to be (could cause the right-hand edge to spill over to the left most  column of pixels). FIXED;&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;Fixed an R500 compositing bug that could cause corruption if one  compositing  operation rapidly draws directly over the previous one; and,&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;WaitTOF() and similar functions could cause the machine to lockup when called from a task with a priority &amp;gt;= 1. FIXED.&lt;/li&gt;
&lt;/ul&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;By far the biggest problem was the driver's inability to use homogeneous texture coordinates with vertex arrays. What can homogeneous texture coordinates be used for? Well, &lt;strong&gt;check out another of my test programs turned demo: &lt;a title=&quot;Composite3DDemo&quot; href=&quot;https://hdrlab.org.nz/[sitetree_link id=335]&quot;&gt;Composite3DDemo&lt;/a&gt;&lt;/strong&gt;. This shows what can be done with Amiga OS 4.1's compositing feature, a little creative thinking, and some mathematics. Incidentally, this demo was instrumental in me discovering the R700 GPU lockup issue before anyone else did (version 0.27 had that bug). Phew!&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;All in all, I'm quite happy with the updated driver that I have delivered.&lt;/p&gt;
&lt;h3 style=&quot;text-align: justify;&quot;&gt;What's Next?&lt;/h3&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;I could almost copy and paste what I wrote in the &lt;a title=&quot;The RadeonHD_RM.resource&quot; href=&quot;https://hdrlab.org.nz/[sitetree_link id=331]&quot;&gt;previous entry&lt;/a&gt; to this log. Basically, the focus moves back to working on the &lt;a title=&quot;The RadeonHD_RM.resource&quot; href=&quot;https://hdrlab.org.nz/[sitetree_link id=331]&quot;&gt;RadeonHD_RM.resource&lt;/a&gt; (important for 3D drivers), and implementing missing features such as interrupt support for Radeon HD cards.&lt;/p&gt;</description>
			<pubDate>Mon, 06 Feb 2012 23:56:56 +0000</pubDate>
			
			
			<guid>https://hdrlab.org.nz/projects/amiga-os-4-projects/radeonhd-driver/radeonhd-development-log/radeonhd-chip-0-32-bug-fixes-and-fully-working-2d/</guid>
		</item>
		
		<item>
			<title>The RadeonHD_RM.resource</title>
			<link>https://hdrlab.org.nz/projects/amiga-os-4-projects/radeonhd-driver/radeonhd-development-log/the-radeonhd-rm-resource/</link>
			<description>&lt;p style=&quot;text-align: justify;&quot;&gt;A &lt;a title=&quot;RadeonHD development log post first mentioning the RadeonHD_RM.resource&quot; href=&quot;https://hdrlab.org.nz/[sitetree_link id=301]&quot;&gt;while ago&lt;/a&gt; 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.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;The RadeonHD_RM.resource is a &quot;render manager,&quot; hence the &quot;RM&quot; part of the name. It provides multiple separate drivers with access to the GPU and Video RAM (VRAM). This resource is part of the RadeonHD.chip 2D driver, and the 2D acceleration code for R600/700 chipsets (RadeonHD 2000-4000 series) has already been using it to send render commands to the GPU since the end of 2010. Since then, there have been bug-fixes, R600/R700 compositing has been implemented, and DVI output for Radeon HD 3000-4000. I have also been working on getting the RadeonHD_RM.resource ready for external drivers.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;In addition to working on the driver, I also worked on a proof-of-concept test application (app). The test program allows me to test the RadeonHD_RM.resource in isolation of any 3D drivers. It has already helped me to find and eliminate several bugs, including an annoying vsync problem (fixed a few days ago).&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;I am pleased to announce that the RadeonHD_RM.resource has now progressed to the point where an external driver can render 3D graphics on a Radeon HD 2000-4000 card. Screenshots are at the bottom of this page, but this really is best seen in video form (hint, best viewed in HD at 720p):&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;iframe src=&quot;http://www.youtube.com/embed/oDpgNZESHgI?hl=en&amp;amp;fs=1&quot; width=&quot;480&quot; height=&quot;295&quot; frameborder=&quot;0&quot;&gt; &lt;/iframe&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;You can also &lt;a title=&quot;RadeonHD_RM.resource Test on AmigaOS 4.x&quot; href=&quot;http://www.youtube.com/watch?v=oDpgNZESHgI&quot;&gt;view the video on youtube&lt;/a&gt;.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;NOTE: A big thank you to &lt;a title=&quot;Hostcove's Youtube Channel&quot; href=&quot;http://www.youtube.com/user/hostcove&quot;&gt;hostcove&lt;/a&gt; for helping to deliver a high quality video that was not made by pointing a camera at the screen.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;Except for the Workbench screen, all of the graphics that you see in the video was rendered via the RadeonHD_RM.resource on a Radeon HD 4650. In fact, the test app doesn't even open the Picasso96API.library; it doesn't even know that Picasso96 exists. No, it's &lt;strong&gt;not&lt;/strong&gt; a driver, but it demonstrates that the RadeonHD.chip driver is ready for 3D.&lt;/p&gt;
&lt;h3 style=&quot;text-align: justify;&quot;&gt;Features&lt;/h3&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;Some of the features in the proof-of-concept are:&lt;/p&gt;
&lt;ul style=&quot;text-align: justify;&quot;&gt;&lt;li&gt;GPU based 3D transformation and lighting&lt;/li&gt;
&lt;li&gt;Per-pixel lighting (8 lights, each rendered in its own render pass, and one controlled by the mouse)&lt;/li&gt;
&lt;li&gt;Bump-mapping&lt;/li&gt;
&lt;/ul&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;All of these are things that MiniGL/Warp3D cannot do. The test-app may be primarily for testing the RadeonHD_RM.resource, but it also gives you a glimpse of what will be possible when OpenGL 2+ support is finally available on AmigaOS. These new capabilities are why I embarked on the RadeonHD driver project in the first place.&lt;/p&gt;
&lt;h3&gt;What's next&lt;/h3&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;Obviously, getting the Gallium3D drivers working is next, but not by me personally. Hans-Joerg Frieden has been working on porting and integrating MESA into the OS, and will continue to do so. There is still much work for me to do on the RadeonHD.chip driver itself. There are bugs to fix, and RadeonHD_RM.resource may be ready for 3D, but it's not yet ready for release.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;What's most important is that an external 3D driver is now possible. We're almost there.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;a title=&quot;A frame from the RadeonHD_RM.resource proof-of-concept demo&quot; href=&quot;https://hdrlab.org.nz/assets/Projects/RadeonHD/RHDRMTest.jpg&quot; target=&quot;_blank&quot;&gt;&lt;img class=&quot;center&quot; src=&quot;https://hdrlab.org.nz/assets/Projects/RadeonHD/_resampled/resizedimage500281-RHDRMTest.jpg&quot; alt=&quot;A frame from the RadeonHD_RM.resource proof-of-concept demo&quot; title=&quot;Click to see at full resolution&quot; width=&quot;500&quot; height=&quot;281&quot;/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;a title=&quot;Another frame from the RadeonHD_RM.resource proof-of-concept demo&quot; href=&quot;https://hdrlab.org.nz/assets/Projects/RadeonHD/RHDRMTest2.jpg&quot; target=&quot;_blank&quot;&gt;&lt;img class=&quot;center&quot; src=&quot;https://hdrlab.org.nz/assets/Projects/RadeonHD/_resampled/resizedimage500281-RHDRMTest2.jpg&quot; alt=&quot;Another frame from the RadeonHD_RM.resource proof-of-concept demo&quot; title=&quot;Click to see at full resolution&quot; width=&quot;500&quot; height=&quot;281&quot;/&gt;&lt;/a&gt;&lt;/p&gt;</description>
			<pubDate>Mon, 24 Oct 2011 23:00:00 +0000</pubDate>
			
			
			<guid>https://hdrlab.org.nz/projects/amiga-os-4-projects/radeonhd-driver/radeonhd-development-log/the-radeonhd-rm-resource/</guid>
		</item>
		
		<item>
			<title>DVI output for Radeon HD 4000 series cards</title>
			<link>https://hdrlab.org.nz/projects/amiga-os-4-projects/radeonhd-driver/radeonhd-development-log/dvi-output-for-radeon-hd-4000-series-cards/</link>
			<description>&lt;p style=&quot;text-align: justify;&quot;&gt;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 &quot;click&quot; sensation due to the large amount of switching, so I am glad to hand that task over to the KVM.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;My hopes that adding DVI output would be a &quot;quick fix&quot; were quickly dashed when fixing what I thought was the cause resulted in no change. The task quickly became a needle-in-a-haystack hunt; nay, multiple needle-in-a-haystack hunts for what AtomBIOS functions had been added or changed, and where to get the additional data that was needed (the AtomBIOS is undocumented). The AtomBIOS' API is tightly coupled to the hardware, meaning that new functions are added, and old ones get new versions (functions have version numbers so that they can be changed at will) with new inputs and outputs. One by one, changes were tracked down and added to the driver, most often without any noticeable change. As you can imagine, working hard and getting seemingly no result is very frustrating. At one stage I even lost VGA output, thanks to an introduced bug that was later tracked down and fixed. Eventually, the behaviour of the DVI output started changing/improving, giving a much needed motivation boost to fix the remaining problems and get it working properly. With one final compile and reset, the DVI output showed the AmigaOS 4.1 boot picture, and just worked.&lt;/p&gt;</description>
			<pubDate>Fri, 06 May 2011 18:26:10 +0000</pubDate>
			
			
			<guid>https://hdrlab.org.nz/projects/amiga-os-4-projects/radeonhd-driver/radeonhd-development-log/dvi-output-for-radeon-hd-4000-series-cards/</guid>
		</item>
		
		<item>
			<title>Radeon HD 2000-4000 Compositing is Operational</title>
			<link>https://hdrlab.org.nz/projects/amiga-os-4-projects/radeonhd-driver/radeonhd-development-log/radeon-hd-2000-4000-compositing-is-operational/</link>
			<description>&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;img class=&quot;left&quot; src=&quot;https://hdrlab.org.nz/assets/Projects/RadeonHD/R7xxcompositing-thumbnail.jpg&quot; alt=&quot;An image of a composited Workbench screen on a Radeon HD 4650&quot; title=&quot;A composited Workbench screen on a Radeon HD 4650&quot; width=&quot;150&quot; height=&quot;150&quot;/&gt;The 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.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;So, what's next? Well, apart from the aforementioned DVI and interrupt support, I am eager to get 3D drivers up and running. DVI is something that I'd like to get working soon as I use a 4 port DVI KVM, and so would like to be able to stop switching to VGA.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;a title=&quot;A composited Workbench screen on a Radeon HD 4650&quot; href=&quot;https://hdrlab.org.nz/assets/Projects/RadeonHD/R7xxcompositing.jpg&quot; target=&quot;_blank&quot;&gt;&lt;img class=&quot;center&quot; src=&quot;https://hdrlab.org.nz/assets/Projects/RadeonHD/_resampled/resizedimage500281-R7xxcompositing.jpg&quot; alt=&quot;A composited Workbench screen on a Radeon HD 4650&quot; title=&quot;Click too  see at full resolution&quot; width=&quot;500&quot; height=&quot;281&quot;/&gt;&lt;/a&gt;&lt;/p&gt;</description>
			<pubDate>Sun, 03 Apr 2011 12:11:03 +0000</pubDate>
			
			
			<guid>https://hdrlab.org.nz/projects/amiga-os-4-projects/radeonhd-driver/radeonhd-development-log/radeon-hd-2000-4000-compositing-is-operational/</guid>
		</item>
		
		<item>
			<title>RadeonHD: Mobility Chipsets now Supported</title>
			<link>https://hdrlab.org.nz/projects/amiga-os-4-projects/radeonhd-driver/radeonhd-development-log/radeonhd-mobility-chipsets-now-supported/</link>
			<description>&lt;p style=&quot;text-align: justify;&quot;&gt;With the &lt;a title=&quot;Sam460ex available with AmigaOS 4.1&quot; href=&quot;http://acube-systems.biz/index.php?page=news&amp;amp;id=79&quot;&gt;Sam460ex recently going on sale&lt;/a&gt; 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 &lt;a title=&quot;SAM460 Troubleshooting&quot; href=&quot;http://amigaworld.net/modules/newbb/viewtopic.php?topic_id=33219&amp;amp;forum=33&quot;&gt;here&lt;/a&gt; and &lt;a title=&quot;Re: Which Radeon for A1X1000 and Sam460ex&quot; href=&quot;http://hdrlab.org.nz/forums/amiga-os-projects/show/210?start=8#post277&quot;&gt;here&lt;/a&gt;) 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 &lt;a title=&quot;RadeonHD Card Recommendations&quot; href=&quot;https://hdrlab.org.nz/[sitetree_link id=304]&quot;&gt;my recommendations&lt;/a&gt; (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.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;A quick look at the offending card's PCI product ID revealed that it was actually a Mobility Radeon M92 chipset on the board, and not an RV710, which is what Radeon HD 4350s should have. This explained why all Radeon HD 4350s tested to date worked just fine, while these failed miserably. While this was a clear differentiating factor, it did not explain why it failed.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;These cards highlighted two problems, not one. First, there was the obvious problem of the cards not working. However, the driver should have detected the problem, and disabled hardware graphics acceleration, so that the display was readable at least. The cause of both problems lay in the GPU initialisation code. This code checks which chipset the card has, and then uploads the correct microcode and executes the appropriate initialisation. As it turns out, some chipsets - most notably all of the mobility chipsets - were missing, and so no microcode or initialisation was done. A small bug prevented this failure from being detected, and so hardware acceleration was not disabled.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;The good news is that I have fixed these issues, and future versions will be able to use these cards. In the mean-time, I strongly encourage people to not buy Sapphire Radeon HD 4350 cards, as some of them will not work with the publicly released driver. Likewise, I discovered that the current driver will not initialise RV740 and RV790 chipsets, so avoid the Radeon HD 4770 and 4890 cards too. I do not expect people to buy these cards for their Sam460ex's, as they will block the PCI port. Nevertheless, you have been warned.&lt;/p&gt;</description>
			<pubDate>Mon, 28 Feb 2011 15:16:35 +0000</pubDate>
			
			
			<guid>https://hdrlab.org.nz/projects/amiga-os-4-projects/radeonhd-driver/radeonhd-development-log/radeonhd-mobility-chipsets-now-supported/</guid>
		</item>
		
		<item>
			<title>Radeon HD 2000-4000 Series 2D Hardware Acceleration</title>
			<link>https://hdrlab.org.nz/projects/amiga-os-4-projects/radeonhd-driver/radeonhd-development-log/radeon-hd-2000-4000-series-2d-hardware-acceleration/</link>
			<description>&lt;p style=&quot;text-align: justify;&quot;&gt;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 &quot;internal&quot; milestones, which are less interesting to users. Anyway, an update is long overdue, so here it is.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;I am pleased to announce another major milestone has been reached. 2D blitter acceleration is now operational on R600/R700 chipsets (Radeon HD 2000-4000 series cards). A few 2D blitter functions are still to-do, but the most critical functions have been implemented, and R600/R700 cards are now finally usable (albeit minus compositing). In fact, my primary Amiga OS development system is now a Sam 460ex with a Sapphire Radeon HD 4650 Ultimate Edition (passively cooled, which is nice), with the old A1-XE now only used for additional testing, and the odd 3D stuff. I'll write more about the new system later; what is key here is that the R600/R700 driver has reached a stage that I now use it every day, rather than only for testing.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;There is more good news. Many have asked if the driver will be on the Sam460ex AmigaOS 4.1 CD, and the answer is &lt;a title=&quot;RadeonHD Driver bundled with AmigaOS 4.1 for Sam460ex&quot; href=&quot;http://www.acube-systems.biz/index.php?page=news&amp;amp;id=78&quot;&gt;yes&lt;/a&gt;. I have reached an agreement with ACube Systems, and the driver will be included. Having used a Sam 460ex with a Radeon HD 4650, I can say that it is definitely a step up from my A1-XE. Having a real PCI-Express bus (4x) instead of using a PCI version definitely makes a difference. With both the Sam 460ex, and the upcoming A1-X1000, I am quite excited about 2011, and the possibilities that all this new hardware brings. I am eager to help bring 3D support to the new Radeon HD cards, which will be a giant leap forward in graphics capabilities.&lt;/p&gt;
&lt;h3&gt;The Long Road to Here&lt;/h3&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;Getting R600/R700 acceleration up and running proved to be more effort than I had anticipated (surprise, surprise). Unlike the R500 and previous chipsets, its command processor has no &quot;push&quot; mode, in which commands can be sent by writing to a set of registers. The command processor is responsible for executing rendering commands sent to it by the CPU. To make matters worse, the command processor registers are missing from the documentation, so the code that AMD released (see the Linux drivers), &lt;strong&gt;was&lt;/strong&gt; the documentation. So, with only source-code for documentation, I had to implement &quot;pull&quot; mode command submission. In &quot;pull&quot; mode, the CPU writes commands to a ring-buffer in memory, and then tells the GPU's command processor that there are more command packets to read. The command processor then reads the commands in directly from that memory. To avoid individual Tasks (or Threads/Processes) from blocking each other, Tasks generally do not write to the ring-buffer directly, but to indirect buffers. The driver writes an entry to the ring-buffer telling the GPU to execute the submitted buffer, which the GPU once again reads directly from memory. Using GART, it can read the commands directly from main memory which, thanks to it using DMA, is faster than individual CPU writes.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;The down side to &quot;pull&quot; mode is that it requires a lot more support code. It isn't just the ring-buffer code, there is also the indirect buffer management code, and then the 2D blitter acceleration running on top of that. To save time later, the R600/R700 command processor code has been implemented directly into the RadeonHD_RM.resource, which the 3D drivers (and anything else that needs it) will use. Internally, the 2D blitter acceleration also uses the RadeonHD_RM.resource to access the GPU. I will write more about the resource and technical details at a later date.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;Rather than try to implement GART and the command processor code at the same time, I opted to put the ring buffer and indirect buffers in VRAM on the graphics card. Performing one step at a time is good Engineering practise, and helps isolate problems. For example, if there were a problem, was it caused by the GART code? The ring-buffer code? Or even both? It turned out that putting the command buffers in VRAM brought its own problems related to data coherency. In some cases the data had not made it to VRAM before the command processor tried to read it. This was just one of the many technical issues that got in the way and were overcome.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;Possibly the biggest technical problem that I encountered was a direct result of using PCI versions of what is actually a PCI-Express graphics card. To get it connected to a PCI bus, manufacturers put a PCI-to-PCIe bridge  on the board (a PEX 8111 or 8112, to be precise). The performance of the PCI cards was on the slow side. When I benchmarked the CPU's VRAM write and read speed, I got a shocking 0.7 MiB/s! Since not everything is HW accelerated, this read speed really hurts. Fortunately, there was a solution. The PEX 8111 and 8112 bridge chips have a &quot;blind&quot; prefetch feature, that allows the bridge to prefetch blocks of data, thereby decreasing the large latencies of individual reads from the PCI side of the bridge. Setting those up correctly helped boost the read speed back into an acceptable range. I have also made some changes to Picasso96 that improve performance. Having said that, I do hope that the A1's UBoot will be updated so that the Radeon HD card can be used in the 66 MHz slot rather than the 33 MHz slot. Any increase in bandwidth to the graphics card will help; particularly with R600+ cards, as their command  packet sequences are longer for 2D acceleration than previous Radeon cards.&lt;/p&gt;
&lt;h3 style=&quot;text-align: justify;&quot;&gt;The Road Ahead&lt;/h3&gt;
&lt;p&gt;I am sure that many are asking, &quot;what's next?&quot; Well, in no particular order, here are some of the things still to come:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;DVI output on Radeon HD 4000 series cards (it partially works, but it is still to do)&lt;/li&gt;
&lt;li&gt;Support for R600/R700 VBlank interrupts&lt;/li&gt;
&lt;li&gt;R600/R700 compositing (and HW acceleration of the last few blitter functions)&lt;/li&gt;
&lt;li&gt;3D drivers using Gallium 3D (requires finishing off the RadeonHD_RM.resource)&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;It has already been mentioned that Gallium 3D drivers for these cards will be coming, and I am looking forward to getting those up and running. This is no longer only a 2D driver project.&lt;/p&gt;
&lt;p&gt;I wish you all a Merry Christmas, and a Happy New Year.&lt;/p&gt;</description>
			<pubDate>Thu, 23 Dec 2010 15:41:15 +0000</pubDate>
			
			
			<guid>https://hdrlab.org.nz/projects/amiga-os-4-projects/radeonhd-driver/radeonhd-development-log/radeon-hd-2000-4000-series-2d-hardware-acceleration/</guid>
		</item>
		
		<item>
			<title>R5xx Compositing is Done</title>
			<link>https://hdrlab.org.nz/projects/amiga-os-4-projects/radeonhd-driver/radeonhd-development-log/r5xx-compositing-is-done/</link>
			<description>&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;img class=&quot;left&quot; src=&quot;https://hdrlab.org.nz/assets/Projects/RadeonHD/r5xx-compositing-thumbnail.jpg&quot; alt=&quot;R5xx compositing on Amiga OS 4.x&quot; title=&quot;R5cc compositing on Amiga OS 4.x&quot; width=&quot;150&quot; height=&quot;126&quot; /&gt;I 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&amp;nbsp; 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).&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;Implementing compositing proved to be a major undertaking. As I said earlier, Amiga OS 4.x's compositing contains a powerful array of features, all of which must be implemented correctly by the driver. Added to this, a slight eror in the data sent to the graphics card could cause a freeze, requiring a hard reset. This makes debugging rather time consuming. Needless to say, I am glad that it is done, and working correctly.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;With full 2D acceleration implemented for R5xx chipsets, it is now time to turn my attention to hardware accelerated blitter for R6xx/R7xx based cards.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;a href=&quot;http://hdrlab.org.nz/assets/Projects/RadeonHD/r5xx-compositing.jpg&quot; title=&quot;Click to view at full resolution&quot;&gt;&lt;img class=&quot;center&quot; src=&quot;https://hdrlab.org.nz/assets/Projects/RadeonHD/r5xx-compositing.jpg&quot; alt=&quot;R5xx compositing on Amiga OS 4.x&quot; title=&quot;R5xx compositing on Amiga OS 4.x&quot; width=&quot;500&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description>
			<pubDate>Mon, 28 Dec 2009 00:00:00 +0000</pubDate>
			
			
			<guid>https://hdrlab.org.nz/projects/amiga-os-4-projects/radeonhd-driver/radeonhd-development-log/r5xx-compositing-is-done/</guid>
		</item>
		
		<item>
			<title>R5xx Compositing - Partially Done</title>
			<link>https://hdrlab.org.nz/projects/amiga-os-4-projects/radeonhd-driver/radeonhd-development-log/r5xx-compositing-partially-done/</link>
			<description>&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;img class=&quot;left&quot; src=&quot;https://hdrlab.org.nz/assets/Projects/RadeonHD/r5xx-compositing-partial-thumbnail.jpg&quot; alt=&quot;R5xx partial compositing support screenshot&quot; title=&quot;R5xx partially working compositing on Amiga OS 4.1&quot; width=&quot;150&quot; height=&quot;127&quot; /&gt;It has been a while since I posted an update about this RadeonHD driver for Amiga OS 4.x project. At present I am still working on implementing compositing for R5xx chipsets (Radeon X1000 series cards) but, there is progress. The screenshot shown below (and the thumbnail image to the left) was captured from a Radeon X1550 PCI card when running Amiga OS 4.1 with compositing enabled. As you can see, basic compositing is operational.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;Compositing support is still incomplete, however, and some errors are visible in the screenshot. The drop shadows and window transparencies are not working yet. and there are several use cases that are not fully operational. Nevertheless, the hardest task of getting anything working at all has been done.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;Compositing on Amiga OS 4.1 is considerably more powerful than that which is available on Linux via EXA. While this is great for application developers, it places more burden on the graphics driver developer. This is why there have been few updates to this development log over the last few months. I cannot say how much longer it will be until R5xx compositing is fully implemented, but it is mostly done.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;a href=&quot;https://hdrlab.org.nz/assets/Projects/RadeonHD/r5xx-compositing-partial.jpg&quot; title=&quot;Click to view at full resolution&quot;&gt;&lt;img class=&quot;center&quot; src=&quot;https://hdrlab.org.nz/assets/Projects/RadeonHD/r5xx-compositing-partial.jpg&quot; alt=&quot;R5xx partial compositing support screenshot&quot; title=&quot;R5xx partially working compositing on Amiga OS 4.1&quot; width=&quot;500&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description>
			<pubDate>Sun, 06 Dec 2009 00:00:00 +0000</pubDate>
			
			
			<guid>https://hdrlab.org.nz/projects/amiga-os-4-projects/radeonhd-driver/radeonhd-development-log/r5xx-compositing-partially-done/</guid>
		</item>
		
		<item>
			<title>Radeon HD Cards Now Work with the SAM 440ep Motherboard</title>
			<link>https://hdrlab.org.nz/projects/amiga-os-4-projects/radeonhd-driver/radeonhd-development-log/radeon-hd-cards-now-work-with-the-sam-440ep-motherboard/</link>
			<description>&lt;p style=&quot;text-align: justify;&quot;&gt;This morning &lt;a href=&quot;http://acube-systems.biz/&quot; title=&quot;ACube Systems&quot;&gt;ACube Systems&lt;/a&gt; released &lt;a href=&quot;http://acube-systems.biz/index.php?page=news&amp;amp;id=60&quot; title=&quot;UBoot updates for SAM 440ep and SAM 440-flex Motherboards&quot;&gt;UBoot updates&lt;/a&gt; for their SAM 440ep and SAM 440-flex motherboards. These updates include fixes that allow Radeon X1000 series and higher (e.g., Radeon HD 2400) cards to work with the SAM 440ep. Previously, the SAM 440ep's UBoot failed to detect the card properly, meaning that SAM 440ep owners could not use the &lt;a href=&quot;https://hdrlab.org.nz/radeonhd-driver/&quot; title=&quot;ACube Systems&quot;&gt;RadeonHD graphics card driver for Amiga OS 4.x&lt;/a&gt; that I am developing.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;The problem with the SAM 440ep board was that the Radeon HD PCI cards are actually PCI-Express graphics cards with a buiilt-in PCI-Express-to-PCI bridge. As a result, the card appears as a device behind a bridge to the system. This is the same issue that seems to be preventing Pegasos II users from using the same graphics cards on their system.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;With this UBoot update, a large number of Amiga OS 4.x users are now able to use more modern graphics cards. All that remains to be done, is for me to finish the drivers...&lt;/p&gt;</description>
			<pubDate>Fri, 27 Nov 2009 00:00:00 +0000</pubDate>
			
			
			<guid>https://hdrlab.org.nz/projects/amiga-os-4-projects/radeonhd-driver/radeonhd-development-log/radeon-hd-cards-now-work-with-the-sam-440ep-motherboard/</guid>
		</item>
		

	</channel>
</rss>