Announcement

Collapse
No announcement yet.

AMD Releases Additional R600 GPU Programming Documentation

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • bridgman
    replied
    Originally posted by TechMage89 View Post
    Bridgman, one question though. I've taken a look at the 2d acceleration bits in the radeon driver, and although XAA does work on my x1600, the code looks incomplete and hacky, and EXA isn't functional (at reasonable speeds) at all. Large parts of XAA aren't accelerated, or only partially so. I'm wondering if there is some original 2d engine documentation I can refer to, because I don't think the radeon driver is using all of the card's functionality.

    As for EXA, I'm not sure what's causing the issue, I need to try some performance profiling.
    The manual that came with the R200 info seemed pretty good and gives a pretty good intro to programming the parts. I'm going to try to re-release that some time soon. I was flipping through it over the weekend (while ice fishing ) trying to figure out how much work it would take to bring it up to date for 5xx if not 6xx.

    re: EXA, there seems to be some agreement that EXA may need better memory management to work well. I'm not 100% sure of that but it does seem likely.

    re: XAA, I have been told by a couple of devs that a lot of the benefit comes from accelerating just a few functions. At XDS there was some talk about mismatches between the current 2d acceleration APIs and the functions which are actually used heavily -- I think the comment was "XAA accelerates all the stuff that nobody uses any more".

    Leave a comment:


  • Ze..
    replied
    Originally posted by bridgman View Post
    2d acceleration on R6xx parts and 3d acceleration on 5xx/6xx parts are next on the documentation list.
    Excellent.

    It'll be good to see how this evolves. I'm actually quite interested in seeing how it all happens. When I get more time I think I'll start contributing to the driver (even though ewwww plain old c )

    Leave a comment:


  • airlied
    replied
    Originally posted by val-gaav View Post
    That makes me wonder why there is no (almost complete in functions) open source driver for RS690 uptill now? Parts are more or less ready and what's left is to combine them, so what's stoping the devs ? I mean it could have been done along the reverse engineering of r4xx chips.

    and BTW radeonhd is for r5xx r6xx cards if RS690 is so much closer to r4xx then it does make sence to put it into radeon (r2xx r3xx r4xx) driver instead. I'm a bit confused about why it's in the radeonhd dirver now.

    rs690 modesetting is the same as the r500 parts, so it needs atombios or radeonhd support to set modes. the 3D engine is like the 3D engine on rs480, but there is also a large chunk of work just programming the memory controller on these chips. Setting up the memory controller is tricky (maybe atombios will make it easier).

    Once the memory controller is working, the current Mesa r300 driver should work on top of it all fine, however the current Mesa r300 driver doesn't fully support "vertex shader"-less cards, googleearth and many games work, compiz however has resisted fixing, I'd hope to remedy this situation since I wrote the current "vertex shader"-less codepaths, but time as ever is the enemy.

    Leave a comment:


  • airlied
    replied
    Originally posted by TechMage89 View Post

    Bridgman, one question though. I've taken a look at the 2d acceleration bits in the radeon driver, and although XAA does work on my x1600, the code looks incomplete and hacky, and EXA isn't functional (at reasonable speeds) at all. Large parts of XAA aren't accelerated, or only partially so. I'm wondering if there is some original 2d engine documentation I can refer to, because I don't think the radeon driver is using all of the card's functionality.

    As for EXA, I'm not sure what's causing the issue, I need to try some performance profiling.
    What do you mean looks incomplete and hacky? I assume you are basing this on your years of experience writing XAA/EXA drivers? or just on the fact that you can't understand the codepaths?

    XAA is functionally complete in that it provides accel for anything it can.

    EXA is still a work in progress and the missing bit is Composite support which actually requires using the 3D engine not the 2D engine. We only support Composite on r100/r200 so far and I'd like to add r300 support at some point. R500 needs some info on the fragment shader pipeline to happen.

    XAA also has some support for composite operations but we might not bother implementing that (maybe someone will, they mainly make gnome-terminal go faster).

    Really EXA isn't a great final solution as-is, we require a unified memory manager like TTM to really make it shine. Otherwise we end up with the current texture/pixmap VRAM split etc...

    Leave a comment:


  • highlandsun
    replied
    What about MPEG2 acceleration? Some of us don't give a damn about gaming or 3D effects, but faster video decoding would be nice...
    Last edited by highlandsun; 01-06-2008, 05:25 AM.

    Leave a comment:


  • givemesugarr
    replied
    Originally posted by val-gaav View Post
    That makes me wonder why there is no open source driver for RS690 uptill now? Parts are more or less ready and what's left is to combine them, so what's stoping the devs ?

    and BTW radeonhd is for r5xx r6xx cards if RS690 is so much closer to r4xx then it does make sence to put it into radeon (r2xx r3xx r4xx) driver instead ? I'm a bit confused about it now.
    well, to put it in simple ways:
    - radeonhd is totally developed from the source with the addition of some working code from radeon parts.
    - radeon code has been written in its majority from reverse engineering the old fglrx code.

    the thing that board are similar doesn't imply that they're the same and john pointed out some differences. the main problem is that radeonhd is developed entirely on the new r600 series and works with some older r500 that are similar to the r600. the radeonhd could work also on other chips but the devs don't know about it since they never tried testing it on r300 or 400 for example. but for the moment it's likely that it won't work on these boards without harm.
    the radeon branch instead is working for boards till r500 and is adding various support for newer features and boards. it's known that with time we'll have just one driver but for now the 2 codes from the 2 drivers are different and until the radeonhd doesn't finishes its code for the new boards i don't think that it will converge into the radeon, while the radeon branch will continue to increase its features, stability and speed for the older cards also through utilities from radeonhd and specs from amd and one day it will absorb radeonhd, but i don't see this happening this year.

    Leave a comment:


  • val-gaav
    replied
    Originally posted by bridgman View Post
    >>It's the 2D/3D stuff that we're all craving out here...

    Just wanted to remind everyone that the 2d acceleration on the RS690 and the R5xx family is pretty much unchanged from earlier chips. The 2d acceleration code in the radeon driver is actually running on R5xx parts today.

    3d acceleration on RS690 is also unchanged from the 4xx parts other than the lack of vertex shaders.
    That makes me wonder why there is no (almost complete in functions) open source driver for RS690 uptill now? Parts are more or less ready and what's left is to combine them, so what's stoping the devs ? I mean it could have been done along the reverse engineering of r4xx chips.

    and BTW radeonhd is for r5xx r6xx cards if RS690 is so much closer to r4xx then it does make sence to put it into radeon (r2xx r3xx r4xx) driver instead. I'm a bit confused about why it's in the radeonhd dirver now.
    Last edited by val-gaav; 01-05-2008, 09:08 AM.

    Leave a comment:


  • Kano
    replied
    It needs openscenegraph 2 as build depend. It is not really a benchmark as it is interactive with mouse movement/button press but also a graphic feature test for correct rendering. New fglrx code base totally ignores point sprites for example. Last test only works correctly in fullscreen mode.

    Leave a comment:


  • Berniyh
    replied
    Originally posted by Kano View Post
    try this then (compiled for 32+64 bit):

    add this to /etc/apt/sources.list (works with sid too, gutsy/hardy not tested):

    deb http://kanotix.com/files/fix/gl2benchmark.lenny ./
    deb-src http://kanotix.com/files/fix/gl2benchmark.lenny ./

    apt-get update
    apt-get install --allow-unauthenticated gl2benchmark

    If you have problems you can always do:

    apt-get build-dep gl2benchmark
    apt-get source -b gl2benchmark

    to build it for currently unsupported systems.
    gl2benchmark won't compile on my Gentoo system.
    But actually I don't care about some benchmark, that doesn't run (or whatever it does/doesn't). I care about the apps and games, that I run and I don't have problems with those.
    (There are problems, don't get me wrong, though. )

    Leave a comment:


  • Kano
    replied
    try this then (compiled for 32+64 bit):

    add this to /etc/apt/sources.list (works with sid too, gutsy/hardy not tested):

    deb http://kanotix.com/files/fix/gl2benchmark.lenny ./
    deb-src http://kanotix.com/files/fix/gl2benchmark.lenny ./

    apt-get update
    apt-get install --allow-unauthenticated gl2benchmark

    If you have problems you can always do:

    apt-get build-dep gl2benchmark
    apt-get source -b gl2benchmark

    to build it for currently unsupported systems.

    Leave a comment:

Working...
X