Announcement

Collapse
No announcement yet.

ATI R600g Gains Mip-Map, Face Culling Support

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

  • Originally posted by netkas View Post
    somebody need to check it on nvidia linux drivers.
    This would prove nothing. Someone (more competent in OpenGL than I) needs to read geartrain.c and check the vertices.

    Comment


    • (and otherwise too, vertices were just my first guess)
      ps. I hate the one-minute edit window.

      Comment


      • btw, latest mesa borked q3

        Comment


        • geartrain with nvidia (mobile, Quadro NVS 145M, basically a 8xxxM):


          I demand that this bug gets fixed in r300g!

          Comment


          • Originally posted by rohcQaH View Post
            I demand that this bug gets fixed in r300g!
            *cough* There's a bug in that screenshot too.

            Comment


            • 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 + c2q@3ghz

              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