Announcement

Collapse
No announcement yet.

ATI R600g Gains Mip-Map, Face Culling Support

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

  • fixed with some reversed commit

    btw, q3 timedemo results:

    llvmpipe - 16.2 fps
    r600c - 62.7 fps
    r600g - 25.9 fps - doesnt seem to change with lower res/settings
    catalyst 10,7 was about 129 fps

    rhd4850 + [email protected]

    Comment


    • oww.. now my head hurts.

      geartrain.c appears to be a mess of poorly indented code, ripe with buffer overflows and undefined behaviour. The code intended for the beveled gears is chaotic and does produce wrong geometry.

      I'd blame geartrain.c. Not to say there is no driver-bug, but geartrain is in no shape to indicate one.

      Comment


      • My recollection from r600c development was that geartrain was one of the most problematic demos, and continued to give us grief long after most of the other demos were working.

        Comment


        • this looks more like it:




          Both geometry and normal vectors were plain wrong on those BEVEL gears.

          I'm not sure I got it right now, but at least it looks better.

          Patch as soon as I'm sure it actually does what it's supposed to do and doesn't just look good by accident. Where would I submit any patches?

          Comment


          • The mesa-dev mailing list is probably best.

            Comment


            • Originally posted by rohcQaH View Post
              this looks more like it:

              HAHAHA! I laughed my fscking ass off! (almost)

              Comment


              • Originally posted by bridgman View Post
                My recollection from r600c development was that geartrain was one of the most problematic demos, and continued to give us grief long after most of the other demos were working.
                Lucky it got fixed now. It's kinda unnerving if a driver gets a workaround for a demo bug. God knows how many other things that could influence...

                Comment


                • Problems I've identified:

                  - on the two BEVEL gears, the author didn't quite know which values to use, leading to inconsistent radii on different parts of the gear. Result: broken geometry

                  - on the outer teeth-polygons of the BEVEL gears, the faces are flipped: the visible faces are the BACK faces. The normals still point outwards of the gear, which cannot give good results.

                  - it's using a GL_QUAD_STRIP, but on BEVEL gears the quads aren't planar. Is there even a "right" way to shade non-planar QUADs?

                  - the normal vectors are calculated in a way that's valid for the next QUAD submitted inside the GL_QUAD_STRIP, which would be perfect for glShadeModel(GL_FLAT). But since glShadeModel() is never called, the default GL_SMOOTH is used. The result is visible on all gears if you look close enough.


                  So.. it's a test-case. Fixing everything may make it beautiful, but not necessarily more useful as a test-case. Does this program have a certain purpose to test specific features that must continue to be used?

                  Comment


                  • Originally posted by rohcQaH View Post
                    So.. it's a test-case. Fixing everything may make it beautiful, but not necessarily more useful as a test-case. Does this program have a certain purpose to test specific features that must continue to be used?
                    I guess this all comes down to one question: does OpenGL define behaviour under the circumstances you said?

                    Comment


                    • Not sure about the non-planar quads, but to my knowledge everything else is defined and valid - it's just that the "correct" rendering looks like an error.

                      I'll post to mesa-dev tomorrow.

                      Comment

                      Working...
                      X