Announcement

Collapse
No announcement yet.

Nouveau NVC0 Gallium3D Driver Now Exposes GLSL 4.10

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

  • Nouveau NVC0 Gallium3D Driver Now Exposes GLSL 4.10

    Phoronix: Nouveau NVC0 Gallium3D Driver Now Exposes GLSL 4.10

    While there's still more work to be done before advertising OpenGL 4.0~4.1 compliance, the Nouveau NVC0 Gallium3D driver is now advertising support for GLSL 410 (4.10), the GL Shading Language version to match OpenGL 4.1...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    Originally posted by phoronix View Post
    Phoronix: Nouveau NVC0 Gallium3D Driver Now Exposes GLSL 4.10

    http://www.phoronix.com/scan.php?pag...ium3D-GLSL-410
    Clarification, lest someone misunderstand what's going on -- this is the gallium driver replying with 410 to the PIPE_CAP_GLSL query. I did that out of convenience, not because nouveau secretly supports GLSL 4.10. To counteract this, I also pushed a patch that will still limit the version actually reported to 3.30 when GL 3.3 is exposed.

    That said, any interested parties can test out https://github.com/imirkin/mesa/commits/gl4-integration which will expose GL 4.1 on nvc0. It's pulling in tess, subroutine, and attrib_64bit branches to achieve this. I'll be rebasing/updating it. While Heaven 4.0 kinda works (with tess) on this branch, there are a bunch of funky triangles popping up all over the place on Fermi, and additional issues on Kepler+. [And I have an unpushed patch to fix the crazy squares that pop up in Heaven 4.0 as well. That should be making it in soon-ish.]

    Comment


    • #3
      Thank you a lot for your hard work imirkin, it's very appreciated by many. Keep it up!

      Comment


      • #4
        Hmm, the new gl3.txt layout doesn't include GLSL as separate items any more. Strange...

        Comment


        • #5
          Originally posted by GreatEmerald View Post
          Hmm, the new gl3.txt layout doesn't include GLSL as separate items any more. Strange...
          That's because GLSL isn't a separate item from GL. It matches up 1:1. You can't have "done" GLSL 4.10 without also doing GL 4.1, for example.

          And as far as work items, almost all changes between recent (3.x+) GL versions are fully encompassed by the relevant extensions. The big one where that's not the case is GL 3.2 which added geometry shaders which were (slightly) different from ARB_geometry_shader4, and one of the later GL 4.x's adds a GL_MAX_VERTEX_ATTRIB_STRIDE or something which doesn't come from an ext.

          Comment


          • #6
            Originally posted by imirkin View Post
            That's because GLSL isn't a separate item from GL. It matches up 1:1. You can't have "done" GLSL 4.10 without also doing GL 4.1, for example.
            I thought that might be it. But couldn't the reverse happen, as in having GL 4.1 but not the bits for GLSL 4.10?

            Comment


            • #7
              Originally posted by GreatEmerald View Post
              I thought that might be it. But couldn't the reverse happen, as in having GL 4.1 but not the bits for GLSL 4.10?
              Nope. GL 4.1 is just GL 4.0 + a bunch of extensions. Just as GL 4.0 is GL 3.3 + a bunch of extensions.

              There are *very* minor pieces, like enabling #version 410 in the glsl compiler, and making sure that the right things are enabled, but that's already all done.

              Comment


              • #8
                Originally posted by imirkin View Post
                While Heaven 4.0 kinda works (with tess) on this branch, there are a bunch of funky triangles popping up all over the place on Fermi, and additional issues on Kepler+. [And I have an unpushed patch to fix the crazy squares that pop up in Heaven 4.0 as well. That should be making it in soon-ish.]
                Nice - can you post a YouTube video showing your progress? I'd like to see what (if any) difference tessellation makes...

                Comment


                • #9
                  Does this help mesa as a whole or is it very nouveau specific?

                  Comment


                  • #10
                    Originally posted by OneTimeShot View Post
                    Nice - can you post a YouTube video showing your progress? I'd like to see what (if any) difference tessellation makes...
                    Way too lazy to make a video, but here is a pair of screenshots of the same scene with and without tess. Looks like they use it mostly to make the stones look more cobble-stoney.



                    And like I said, there's still a pile of fail in tess...

                    Comment

                    Working...
                    X