Announcement

Collapse
No announcement yet.

Drawing Open-Source Triangles On The ATI RV770

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

  • #31
    RS780 is now working, I've just pushed the fixes.

    Comment


    • #32
      Originally posted by agd5f View Post
      RS780 is now working, I've just pushed the fixes.
      For those who want to test - the fix is in radeonhd (RS780 wasn't detected as an PCIE device), so you have to fetch the git head.

      Comment


      • #33
        Great!
        I tested it and were able to draw triangles

        But: I cannot do anything else, iirc everything with the CP fails (invalid argument and so on are still there, see last log)

        And if I try to use exa it seems to work somehow. I can log in into gnome, but if I type something in somewhere, the letters are not drawn fine. And everywhere is a bit graphics corruption from time to time. Also scrolling is very slow, much slower than with the default, but faster than "noaccel". And if I move a window then both cores are used at 100% and if I move on, the computer crashes, I have to turn it off. I cannot enable/disable num lock any more and moving the mouse is working, but mouse pointer flickers somehow.

        What shall I do?

        Triangles are great anyway, though

        Comment


        • #34
          Originally posted by bugmenot View Post
          Great!
          But: I cannot do anything else, iirc everything with the CP fails (invalid argument and so on are still there, see last log)
          Not exactly. Drawing triangles already uses the CP

          The EXA behavior is to be expected. It's not working completely yet.

          Comment


          • #35
            Yep. Right now the EXA code is moving one line at a time and (I believe) flushing the GPU pipe and caches after every line when copying overlapping areas, which is really slow (dragging and scrolling both involve copying overlapping src/dst areas). As bugmenot said, it's faster than no acceleration but not as fast as shadowfb. That shouldn't be hard to optimize, but right now we're trying to make sure all the programming information is available and solid before getting into driver optimization.

            I'm not sure if we were still expecting corruption, will check with agd5f re: whether corruption reports are useful.
            Last edited by bridgman; 01-07-2009, 11:01 AM.

            Comment


            • #36
              There is corruption with the EXA composite (which is currently enabled) and occasionally with overlapping blits (I think due to cache flushing issues). At the moment if you want relatively fast and corruption free, disable EXA composite (Option "NoEXAComposite" IIRC) and enable a composite manager (e.g., xcompmgr -a).

              Also as to Xv, the current shader is for nv12 formats, other planar formats should be easy (just changes to the swizzles of the incoming components in the texture setup). Currently, you only get a gradient rather than an image.

              Comment


              • #37
                Hello,
                I tried that, but the computer crashed again. It also crashes, if I only restart the xserver. Have always to take the pc the power away, I'm afraid this isn't good for my computer, if I do this too often.

                Any way I can help to debug?
                Thanks!

                Comment


                • #38
                  I also get some ugly fonts and the server also locks up after a short time on my 780G with exa-acceleration. If I run X with just an xterm an no desktop and window manager it's more stable and even mplayer with Xv output does work! Xaa acceleration seems stable, but I get motion sick scrolling a web page and the Xv port is gone.

                  Looking at the Xorg log file from a locked up X session with exa-acceleration it gets spammed with a lot of:
                  Code:
                  [mi] EQ overflowing. The server is probably stuck in an infinite loop.
                  [mi] mieqEnequeue: out-of-order valuator event; dropping.

                  Comment


                  • #39
                    Originally posted by monraaf View Post
                    Xaa acceleration seems stable
                    There is no XAA acceleration. It's falling back to shadowfb or none.

                    Comment


                    • #40
                      Originally posted by agd5f View Post
                      There is no XAA acceleration. It's falling back to shadowfb or none.
                      Ok, It's still documented in the radeonhd(4) man page as an option however but maybe that's for the older cards.

                      Comment


                      • #41
                        It is definitely an option, and it is supported on older GPUs with a dedicated 2D acceleration block, we just didn't write any R600 code for that option

                        The 3D engine is not a particularly good match for the common XAA functions, and modern apps seem to make more use of the operations offered by EXA. Since we already use the 3D engine for most of the EXA functions, and since 6xx/7xx only have a 3D engine, we only implemented EXA and not XAA for those GPU generations. There was some discussion about whether we should implement XAA later, but I don't know what the right answer is there.

                        Alex mentioned that turning off Composite (Option "NoEXAComposite" in the Device section of your conf file) frequently eliminated the corruption.

                        monraaf, could you try that option if you have not already done so ?

                        Comment


                        • #42
                          Originally posted by bridgman View Post
                          Alex mentioned that turning off Composite (Option "NoEXAComposite" in the Device section of your conf file) frequently eliminated the corruption.

                          monraaf, could you try that option if you have not already done so ?
                          Ok with:
                          Code:
                          Option "EXANoComposite" "true"
                          I get normal readable fonts, however on some places there are lines above them. Adding this option gets rid of these lines.

                          Code:
                          Option  "MigrationHeuristic" "greedy"
                          And it looks like the X server is stable now.
                          Last edited by monraaf; 01-09-2009, 12:17 AM. Reason: found the right option and another.

                          Comment


                          • #43
                            Great. It's possible that the MigrationHeuristic option is completely disabling acceleration, but I'm not sure about the current code. Do you see a big performance drop when you set it to "greedy" ?

                            Comment


                            • #44
                              Whoops, I spoke to soon. I just had another lock-up, well It's not completely stable yet but definitively more stable. One guaranteed way to lock-up the system seems to play a movie with mplayer (Xv output) and then enter and leave full screen mode.

                              Regarding the MigrationHeuristic option I don't see any performance differences.

                              Comment


                              • #45
                                Originally posted by monraaf View Post
                                Regarding the MigrationHeuristic option I don't see any performance differences.
                                Interesting; so the option is affecting stability but not totally disabling acceleration. That's probably useful -- thanks !

                                Comment

                                Working...
                                X