|
|
Log in / Subscribe / Register

R6xx/R7xx 3D programming guide released

From:  Alex Deucher <alexdeucher-Re5JQEeQqe8AvxtiuMwx3w-AT-public.gmane.org>
To:  xorg discussion list <xorg-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW-AT-public.gmane.org>, xorg-driver-ati <xorg-driver-ati-go0+a7rfsptAfugRpC6u6w-AT-public.gmane.org>, radeonhd <radeonhd-stAJ6ESoqRxg9hUCZPvPmw-AT-public.gmane.org>
Subject:  R6xx/R7xx 3D programming guide
Date:  Thu, 7 May 2009 19:36:19 -0400
Message-ID:  <a728f9f90905071636j7ba6bc4cj958c4c1727c843bc@mail.gmail.com>
Archive‑link:  Article

AMD is pleased to announce the release of a 3D programming guide for
Radeon 6xx/7xx chips.  The previously released shader ISAs and
register reference guides are available from the links below.

The guide will be available in the usual places:
http://www.x.org/docs/AMD/R6xx_R7xx_3D.pdf
and
http://ati.amd.com/developer/open_gpu_documentation.html

If you have any development related questions please ask at
gpudriverdevsupport-5C7GfCeVMHo@public.gmane.org

Enjoy!

Alex Deucher
AMD GPG
alexander.deucher-5C7GfCeVMHo@public.gmane.org
-- 
To unsubscribe, e-mail: radeonhd+unsubscribe-stAJ6ESoqRxg9hUCZPvPmw@public.gmane.org
For additional commands, e-mail: radeonhd+help-stAJ6ESoqRxg9hUCZPvPmw@public.gmane.org





to post comments

R6xx/R7xx 3D programming guide released

Posted May 8, 2009 15:49 UTC (Fri) by roskegg (subscriber, #105) [Link] (5 responses)

Hooray! Awesome news! It took a couple years, but damn, I'll finally get 3d acceleration on my two year old desktop.

R6xx/R7xx 3D programming guide released

Posted May 8, 2009 15:55 UTC (Fri) by rahulsundaram (subscriber, #21946) [Link] (3 responses)

There is a gap (often, quite big) between documentation and working mature drivers but yes, eventually you will get 3D.

R6xx/R7xx 3D programming guide released

Posted May 8, 2009 17:29 UTC (Fri) by nix (subscriber, #2304) [Link]

Of course many of the people hacking on the ATI drivers had access to this
stuff anyway. (But now more people can join in. Whether many *will* is a
different matter: I'm not sure how parallelizable the job of writing a 3D
video driver really is.)

R6xx/R7xx 3D programming guide released

Posted May 8, 2009 21:38 UTC (Fri) by petegn (guest, #847) [Link] (1 responses)

Yea Yea Yea I'll believe it WHEN i get a driver that actually works instead of turning a machine into a brick till you force a cold reboot and switch back to 2D ATI Bahhhh humbugger it i said it before and i'll say it again AMD wasted valuable money buying ATI Nvidia would have been a far better proposition

YMMV now way mine does .

R6xx/R7xx 3D programming guide released

Posted May 11, 2009 7:54 UTC (Mon) by jamesh (guest, #1159) [Link]

If all else was equal, then perhaps acquiring Nvidia might have been a better idea. I suspect that all else was not equal though.

Cost would have been one factor, as would willingness to be acquired. I suspect that they were interested in products besides the high end discrete GPUs for desktops/laptops too. Perhaps bad blood between Microsoft and Nvidia also played a part.

R6xx/R7xx 3D programming guide released

Posted May 8, 2009 17:17 UTC (Fri) by nix (subscriber, #2304) [Link]

Also, GPGPUdom! :)

R6xx/R7xx 3D programming guide released

Posted May 8, 2009 20:29 UTC (Fri) by 0b11101 (guest, #57638) [Link]

The availability of open 3D drivers, for common, inexpensive, and off-the-shelf PCI graphics cards is a huge leap for free software desktop operating systems. This, along with open WiFi drivers, was one of the last hurdles for enabling a complete solution based on free software.

Cheers to John Bridgman, the developers of the RadeonHD driver project, and all those within AMD that had the courage and the persistence to make this happen.

R6xx/R7xx 3D programming guide released

Posted May 9, 2009 4:14 UTC (Sat) by k8to (guest, #15413) [Link] (6 responses)

I'm no longer excited by milestones.

When new 3d hardware has support from day 1, I will pay attention.

R6xx/R7xx 3D programming guide released

Posted May 9, 2009 17:21 UTC (Sat) by drag (guest, #31333) [Link] (5 responses)

ha. Ways to raise the bar there.

I _KNOW_ this is a HUGE HUGE step. The amount of time and energy that ATI put into releasing this documentation is ENORMOUS.

Seriously. This cost them a huge amount of money. They threw programmers, documentation folks, and lawyers at these documents for MONTHS and MONTHS.

They have done code releases, released development tools, released multiple different types of documentation. It is simply amazing that they are willing to put this much time and effort into it.

They have also released drivers. They have 2D drivers for the code and kernel DRM for the code. They have released some 3D drivers, but not enough to provide fully accelerated 3D stuff yet.

R6xx/R7xx 3D programming guide released

Posted May 9, 2009 17:37 UTC (Sat) by drag (guest, #31333) [Link]

And for the record the 3D driver code for R600/R700 families were released a couple months ago.. http://www.phoronix.com/scan.php?page=article&item=am...

It's undergoing development, obviously. Right now it does work, but its not really going to be able to do much more then run glxgears.

-----------

Oh and on a side note.

The RC1 for Mesa 7.5 is out. The big deal about this release is that when Mesa 7.5.0 gets out it will have support for Gallium3D. They have recently done a OpenVR state tracker which is a 2D vector based acceleration framework and OpenCL should be out this summer sometime.

R6xx/R7xx 3D programming guide released

Posted May 10, 2009 19:40 UTC (Sun) by k8to (guest, #15413) [Link] (3 responses)

Sure yes, this is effort, etc.

All I know is that by the time a given videocard is fully supported in Linux it is typically completely outmoded. It is very boring to have to wait years for "it will work" and finally the videocard breaks and must be replaced before it actually is working.

Some companies have made trumpeting noises about supporting open development and making Linux drivers. These are promises. When the promises are realized, I will be interested.

R6xx/R7xx 3D programming guide released

Posted May 10, 2009 19:52 UTC (Sun) by alankila (guest, #47141) [Link]

Perhaps you should just buy nvidia? I somehow must have failed to notice how my Geforce 8800 GT didn't work from day one...

R6xx/R7xx 3D programming guide released

Posted May 10, 2009 22:34 UTC (Sun) by Chousuke (subscriber, #54562) [Link]

At least for AMD, the promises are being realised, as the release of specification documents shows. It's no easy job for AMD/ATi to make these documents available, either; though that might be because previously they have had no policy of releasing documentation.

It will be interesting to see in what manner they will release information for the next hardware generations, when they presumably will have completed the necessary infrastructure and policy changes to make it less of an engineering and especially legal burden to write and release proper documentation.

R6xx/R7xx 3D programming guide released

Posted May 11, 2009 21:40 UTC (Mon) by drag (guest, #31333) [Link]

> All I know is that by the time a given videocard is fully supported in Linux it is typically completely outmoded. It is very boring to have to wait years for "it will work" and finally the videocard breaks and must be replaced before it actually is working.

That is one of the major points behind having Gallium and having AMD/Intel/etc helping with the releases.

With the old Linux driver model you had to create at least 2, probably 3, different sets of drivers to run Linux. You needed the Linux DRM stuff, the Xorg DDX stuff, then a driver based off of Mesa's OpenGL stack, the 'dri' driver. With the Xorg DDX you had about 50% of the code of the driver developed just to deal with modesetting. With Mesa/DRI drivers the card-specific code was a large percentage of of the actual OpenGL implimentation... so each driver had, effectively, have it's own branch.

With the Gallium3D stuff the majority of hardware-specific code is isolated and stuck in the winsys (or whatever) part of the module.

Each state-tracker, which provides the application level API, then runs on top of a layer above the low-level hardware-specific code. So once a Gallium state tracker is created it's much much easier to make it run well on new hardware.

This reflects the modern design of GPUs. Mesa hardware specific stuff was originally designed for fixed-function cards which had their own unique OpenGL stuff.. but all modern hardware (since ATI R300 and onward) are based on programmable shader pipelines and are much more general purpose. The modern drivers are much like having everything software rendered, more or less, and treat the GPU as a co-processor for the CPU.

This way we can run the same OpenGL code, same EXA acceleration code, same OpenCL, OpenVR, etc on each new bit of hardware.

Once all the relatively modern drivers are ported to using Gallium then the Mesa OpenGL stuff should be able to be cleaned up quite a bit and optimization can be done easier.

----------------------------

This is like the difference between modern Wireless code in the Linux kernel vs what we had 2-3 years ago.

With the original Wireless cards on the market the onboard firmware took care of most of the 802.11 stuff... so that the Kernel developers treated wireless cards as simply a regular ethernet device that happenned to use air instead of twisted wire... rather as a software-controlled radio network device.

So as the hardware matured and got cheaper the drivers took on more and more of the functionality, but Linux didn't adapt. So what ended up happenning is that each driver had it's own 802.11 implimentation.

This caused all sorts of headaches... depending on the drivers different hardware had vastly different capabilties. So applications like wpa_supplicant and kismet had application-level drivers for each popular device in order to properly support them. Since each driver had to rewrite it's own 80211 implimentation then the amount of development effort that went into supporting a single wireless card was massive.

With the mac80211 stack it's generic enough that now the amount of hardware-specific code is much much less. Drivers are developed much quicker, have much more capabilities quicker, and user space is much much more consistant.

We have advanced tools now like 'iw' and a lot of the features that were once only avialable in Madwifi are now avialable for almost all mac80211-based drivers across the board.

Gallium is sorta like that. Isolate as much as the hardware specific code to a small as a module as possible.


Copyright © 2009, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds