Stories
Slash Boxes
Comments

News for nerds, stuff that matters

AMD Releases 3D Programming Documentation

Posted by kdawson on Sat Feb 23, 2008 08:20 PM
from the fosdem-fossdoc dept.
Michael Larabel writes "With the Free Open Source Developers' European Meeting (FOSDEM) starting today, where John Bridgman of AMD will be addressing the X.Org developers, AMD has this morning released their 3D programming documentation. This information covers not only the recent R500 series, but goes back in detail to the R300/400 series. This is another one of AMD's open source documentation offerings, which they had started doing at the X Developer Summit 2007 with releasing 900 pages of basic documentation. Phoronix has a detailed analysis of what is being offered with today's information as well as information on sample code being released soon. This information will allow open source 3D/OpenGL work to get underway with ATI's newer graphics cards."

Related Stories

[+] AMD Releases 900+ Pages Of GPU Specs 325 comments
An anonymous reader writes "Ending off the X Developer Summit this year, Matthew Tippett handed off ATI's GPU specifications to David Airlie on a CD. However, the specifications are also now available on the X.org site. Right now there is the RV630 Register Reference Guide and M56 Register Reference Guide. Expect more documentation (and 3D specifications) to arrive shortly. The new open-source R500/600 driver will be released early next week."
This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.

AMD Releases 3D Programming Documentation 25 Comments More | Login /

 Full
 Abbreviated
 Hidden
More | Login
Keybindings Beta
Q W E
A S D
Loading ... Please wait.
  • Way to go AMD (Score:5, Insightful)

    by schwaang (667808) on Saturday February 23, @08:49PM (#22530866)
    For ages, the FOSS community has said "just give us the specs for your graphics cards and we'll write the drivers". Well it looks like AMD is taking real steps in that direction, and I for one, say Thanks!

    According to TFA, the small group at AMD who has spent time clearing the docs for legal issues are going to speak at FOSDEM [phoronix.com], and the maintainer for the open source driver for AMD/ATI graphics (RadeonHD) will be giving an update.

    And thanks also to Intel for putting out their 3D graphics specs last month. These are good days for Linux.
    • Re: (Score:2)

      Well since I have had my doubts that the FOSS community really can write better drivers than AMD or NVidia this will be interesting. Of course this is one of those times when I will be very happy to be wrong.
      • Re:Way to go AMD (Score:5, Insightful)

        by 644bd346996 (1012333) on Saturday February 23, @10:50PM (#22531684)
        Depends on what you mean by better. There's no doubt that the open source drivers will be more stable and have better software compatibility than the proprietary stuff. The 3d performance will really only matter to the Linux gamers (a very small market, that), as the performance should definitely be more than enough for simpler things like compiz, etc.

        You should take a look at the existing 3d drivers. The folks reverse-engineering the r300 series did a pretty good job (well enough for it to be the development platform for xgl). And the open-source drivers also guarantee that the card will continue to work just as well with software written long after the demise of the company (eg. with the 3dfx drivers).
        [ Parent ]
          • Re:Way to go AMD (Score:5, Insightful)

            Gamers are not the only ones who like 3D acceleration.

            Quickly and off the top of my head, here are two big ones:
            1. Compiz/Fusion and the like is gaining popularity.
            2. Some applications NEED good 3D or they crawl. See Blender for instance.

            Of these, I would say gaming would be the least demanding - at least if my assumption that "stable is harder than fast" is correct.


            Sure, Blender needs good OpenGL acceleration. But, nobody is going to be that concerned about getting an extra 1 fps in Blender. If proprietary drivers go twice as fast, or ten times as fast, then the open source devs would look like idiots. If the open source ones are ten percent slower, then 99% of people will be completely satisfied. Games are flashy, and they sell cards, and people will complain about getting killed by somebody with a faster machine because it couldn't possibly have anything to do with lack of skill. In Blender, you just need sufficient speed to work. If the guy next to you has an extra 2 fps, it doesn't make him appreciably more productive, and you certainly can't justify needing to display faster than the refresh rate of the monitor in Blender!
            [ Parent ]
  • H.264 acceleration included? (Score:3, Insightful)

    by pyite69 (463042) on Saturday February 23, @09:07PM (#22530990)
    Feature parity with Windows must be the goal if they want to beat NVidia. I hope we can get some sort of media acceleration beyond the stale old XVideo & XV-MC.

    • Re:H.264 acceleration included? (Score:5, Interesting)

      by Jah-Wren Ryel (80510) on Sunday February 24, @03:26AM (#22533150)

      I hope we can get some sort of media acceleration beyond the stale old XVideo & XV-MC.
      You won't get it, and the reason is DRM.

      ATI's cards that have h.264 acceleration (and all kinds of other good stuff like smart de-interlacing all collectively branded as "UVD") are unlikely to ever have the specs for UVD disclosed because they integrated the good stuff with the bad stuff (DRM) and are afraid the exposing how to use the good stuff in UVD will also expose how to circumvent the bad stuff on microsoft windows systems.

      So, once again, those DRM apologists who say that DRM is purely optional, that if you don't want to use it, it won't hurt you, are proven wrong again.

      On the plus side, the next gen cards will have the DRM broken out into a separate part of the chip so that they can feel safe in publishing the specs for good video stuff while leaving the bad stuff locked away.

      One of many such statements by ATI/AMD. [phoronix.com]
      [ Parent ]
  • Yeeha!!!! (Score:5, Interesting)

    by Anonymous Coward on Saturday February 23, @09:10PM (#22531012)
    I'm the owner of 5 boxes all with Nvidia graphic cards.
    I've been using only Nvidia cards since 2000 because they had
    the best 3D graphics card for my Linux box. I was willing to deal
    with binary drivers because there was nothing else available to me
    at my price range (loooow budget) for 3D graphics.

    But.... over the years I would get burned every now and then
    when
    1) I would upgrade the kernel and then the X server would get borked
    because the Nvidia kernel module didn't match the new kernel, or

    2) Some funky memory leak in the binary Nvidia module would lock
    up my box hard because of some damn NvAgp vs. Agpart setting or
    some funky memory speed setting. Of course, this didn't happen with
    every Nvidia driver so of course I wouldn't bother writing down
    what it took to fix the problem.

    Finally when I switched to Debian Linux in fall 2004 and had
    beautiful apt-get/synaptic take care of all of my needs I thought
    I was done ... until I found out that Nvidia doesn't time its
    driver releases with kernel releases so if I wanted to upgrade
    my kernel painlessly with apt-get/synaptic I would have to
    wait for Nvidia to get off it's damn rocking chair playing their
    damn banjo and release a driver to go with the newer kernel.

    The final straw for me was when all of my 5 nvidia cards were
    now listed in the "legacy driver" section. Can you guess what
    "legacy driver" means about Nvidia fixing their closed source
    driver? Yeah, that's exactly the point.

    That's when I started looking around for open source 3d drivers.
    I know about Nouveau for Nvidia, but frankly I'm too pissed off
    about Nvidia to consider them. Ati had a long history of treating
    Linux customers like second class scum. Intel on the other hand
    earned the "golden throne" by providing full open source for their
    graphic chipsets. So now that I'm looking for getting a dual core
    64 bit cpu + 3D graphic chipset the only viable choice was intel,
    which I was happy to do business with.

    Now that Ati has decided to come forth with 3D documentation I'm
    willing to give an intel/ATi or AMD/Ati combo serious consideration.

    Way to go ATI!!!!

     
    • Re: (Score:2)

      It's interesting you should attack nvidia ('s regrettable lack of open source drivers) in a story with a link to phoronix, which noted a rumor January 10 that nvidia might open source their drivers too [phoronix.com]. Of course, we know what rumors are worth. I for one i
      • Or hell, maybe the kernel devs could make it easier to have binary modules stay compatible from version to version...
        I expect that this will happen automagically once they find a set of interfaces that's actually good enough that it doesn't *need* to be changed to let other parts of the kernel improve...
        • Re: (Score:3, Interesting)

          That isn't the issue. The interfaces are pretty stable other wise you couldn't just recompile most drivers when the new kernel comes out. What is missing is a stable binary interface. I am all for a binary interface. The developers don't want a binary inte
  • The 3D programming documentation today is 300 pages and is made up of a programming guide and register specifications. Among the areas covered in this 3D guide are the command processor, vertex shaders, fragment shaders, Hyper-Z, and the various 3D registers.
    Maybe the tcore code contains more, but doesn't 300 pages sound small when the previous drops have been 900 pages or so? I'd be very happy if this really is all they need to make a competitive driver (i.e. no hidden features only the closed source driver
  • This is the end of the beginning.

    Now that AMD/ATI has come over from the Dark Side, I expect that Nvidia and all of the other graphics chip manufacturers are going to be close behind. It may take them a year or two to work out the logistics, but they'll be here.

    More and more people are moving over to Linux/BSD Free/Open software, and letting yourself be locked out of a growing market is the kind of things that CEOs and CTO's get fired for.

    It used to be the case that manufacturers could peacefully close their eyes to the Open Source / Free communities and drink the Microsoft brand Kool-Aid because all of their competitors were doing the same thing. Now, however, with one of The big guns having committed to solid support of the Open Source universe, their less responsive competitors have a massive flank open that is going to have to be responded to.

      • by Junta (36770) on Sunday February 24, @12:27PM (#22535512)

        Uh huh. And just how many CEO's and CTO's have been fired for using ATI or Nvidia's binary blob? I suspect the number's between zero and your imagination.
        He was suggesting AMD's or Intel's CEO, not 'client' companies. I doubt it would get to C*O level, but I could see leadership being shuffled out of responsibility if they didn't, for example, make a correct strategy to get the GPUs sold into the HPC market for GPU computing while the competitor did. I.e. if someone takes the open source specs and designs a set of really kick-ass math libraries that cream anything done with nVidia's CUDA, that could lead to a lot of AMD GPUs being moved while nVidia rushes to leverage that. I doubt anyone would be fired though.

        The total number of hardware and still growing that's released with a binary blob is still greater than the total number that have open source drivers.
        Huh? I can count two families with binary blobs as the only option for full-function, nVidia and AMD. This story hypothetically paves the way for the AMD half to go away, leaving only nVidia for now (rumor has it nVidia will follow suit). There exist some fakeraid cards that have binary only drivers to use the same format as the firmware support, but overwhelmingly this is skipped for pure software RAID. There exist a few wireless drivers without Linux drivers at all, but ndiswrapper has brought over the Windows drivers, so I guess you could say those are binary blobs. Even counting all that, you still have countless network adapters, graphics chips (current hardware is mostly Intel on that front), wireless adapters, storage controllers, audio devices, USB devices which in no way require a binary blob. The binary blob portion of linux support is a vast minority.
        [ Parent ]
  • What's left? (Score:4, Insightful)

    by sudog (101964) on Sunday February 24, @01:19AM (#22532552) Homepage
    So what's left before the complete documentation sets are in our hands?
        • Re:What's left?-experience (Score:4, Interesting)

          by z0M6 (1103593) on Sunday February 24, @11:27AM (#22535102)
          Actually, r600 documentation is expected in a few months. That can hardly be called catching up compared to how it has been earlier.

          Using the gpu to decode h264 etc is something I see as quite possible, but it is likely that it is something we have to implement ourselves (something I think we are capable of).
          [ Parent ]
    • Re:Makes me ask (Score:4, Interesting)

      by bersl2 (689221) on Saturday February 23, @08:38PM (#22530760) Journal
      fglrx is probably a technical and legal mess unable to be cleaned up with less effort than it would take to re-write the drivers using good documentation.
      [ Parent ]
      • Still... (Score:3, Informative)

        Comparing my R500 part with fglrx with an R300 part with the open source driver:
        -With fglrx kernel module loaded, my laptop has not been able to suspend ever (using Ubuntu Gutsy)
        -I have to do a goofy Virtual 1408x1050 resolution with fglrx to make 3D appli
    • Re: (Score:2)

      But it's even worse when they don't release the code.
    • Not lame at all. (Score:4, Insightful)

      by Timothy Brownawell (627747) <tbrownaw@prjek.net> on Saturday February 23, @09:27PM (#22531146) Journal
      It's actually quite nice when they tell us how to write our own drivers, so we're not dependent on them for needed maintenance (bug fixes, updates for newer kernels, etc). Companies can have all sorts of reasons to stop supporting a product, or to provide sub-par support, and being able to write our own drivers means that that isn't a problem.
      [ Parent ]
    • Hardware can be just as competitive an industry as software and from the manufacturers point of view they stand a great deal to lose if their competitors get a hold of their trade secrets.

      You might think that how the card works is something that is trivial
        • by Junta (36770) on Saturday February 23, @09:24PM (#22531116)
          I see that as a reason not to open source the existing drivers, but not to preclude releasing the details needed by the open source community to produce an open driver with their own shader programs, which may be lower performance, but good enough for default operation for a lot of distributions.

          I find an interesting perspective being hinted at by AMD in this context. That they approach a common open source layer at the low level, and plug in their proprietary 'good stuff' as a replacement for higher layer things. As an example, they feel their powerplay stuff isn't top secret, so putting it at a layer where everyone can bang on it and improve it is ideal for everyone. Same with things like display handling. AMD and nVidia both do bizarre things requiring proprietary tools to configure display hotplug, instead of the full xrandr feature set, which has grown to include display hot plug.

          In general, there are *many* things AMD has historically gotten wrong in their drivers. Mostly with respect to power management, suspend, stability with arbitrary kernels/X servers. One thing they seem to do better relative to the open source community is good 3D performance if all the underlying stuff happens to line up. If they can outsource the basic, but potentially widely varying work to the community, it would do wonders if their driver architecture lets them leverage that. And by giving open source 3D developers a chance to create a full stack, it's the best of all worlds. I would be delighted to see the Open Source 3D stack surpass the proprietary stack, but wonder what patents stand in the way of that being permitted...
          [ Parent ]
    • Re: (Score:3, Interesting)

      I've been lamenting for years that the R300 card in my G4 (now a G5, long story) would never get specs. I figured they'd start releasing only specs for R500 and up. So when I read this story, I LITERALLY jumped for joy. I'm so happy that I'm switching from