Announcement

Collapse
No announcement yet.

An Update On The OpenGL 3 Support In Mesa

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

  • An Update On The OpenGL 3 Support In Mesa

    Phoronix: An Update On The OpenGL 3 Support In Mesa

    While the Mesa software stack has made some steps towards supporting OpenGL 3.x, this free software library used by open-source graphics drivers is still a ways from supporting this industry graphics API thats years old and has already been surpassed by OpenGL 4.x. There hasn't been too much major progress lately on GL3 support, but some think it could be achieved next year. When there is OpenGL 3.0 support in Mesa, it will be released as Mesa 8.0. Regardless, the OpenGL 3 status document for Mesa has been updated...

    http://www.phoronix.com/vr.php?view=ODgwOA

  • #2
    GLSL is the main thing that is behind for newer OpenGL support it seems. Also from what I hear S3TC is still a problem due to the patent situation.

    Comment


    • #3
      Nice! Maybe they'll catch up proprietary drivers' OpenGL support in about 2/3 years (If it doesn't appear a new OpenGL version until there...). But right now, Mesa is still a bit limited in some 3D OpenGL support...

      Cheers!

      Comment


      • #4
        off topic a bit

        for such an important project in the Open Source ecosystem (from Linux to Haiku) Mesa/Gallium seems to me that it needs ALOT more people getting payed hacking features in it (state trackers etc)

        and i don't think many companies put money in that part of Open Source

        Comment


        • #5
          I guess this just proves that the argument of "if you give out docs, people will implement the features" of some Free Software lunatics is just wrong.

          No one's going to code it in time. Money is still needed.

          Comment


          • #6
            Originally posted by RealNC View Post
            I guess this just proves that the argument of "if you give out docs, people will implement the features" of some Free Software lunatics is just wrong.

            No one's going to code it in time. Money is still needed.
            Erm, this post is an example of people implementing something because they have the docs. This has nothing to do with "free software lunatics" or any ideology, this has to do with multiple issues including expertise (the kind of things we're talking about are not particularly mainstream) and time (the the developers who focus on this have other things on their plate).

            Though I'm not sure of anyone who says money doesn't help or is irrelevant, only that it is not the only motivation.

            Comment


            • #7
              Originally posted by evolution View Post
              Nice! Maybe they'll catch up proprietary drivers' OpenGL support in about 2/3 years (If it doesn't appear a new OpenGL version until there...). But right now, Mesa is still a bit limited in some 3D OpenGL support...
              Except there's a new OpenGL version roughly every 6 months, as of late.

              The new compiler infrastructure should hopefully make it a lot easier to bring newer GLSL version online, at least.

              Comment


              • #8
                This was in response to various people claiming that the Linux driver model of requiring hardware vendors to open source their drivers and put them in the kernel is a good idea. When vendors don't do that, the next claim is that it's enough for them to open up their docs so that "the community will code the drivers and features."

                It doesn't look that way. Proprietary drivers support GL3 for ages now, while the open driver stack is still based on old, outdated specs. IMO this is proof enough that the Linux driver model is wrong and its supporters too. Otherwise the open graphics stack would have been feature complete years ago.

                Comment


                • #9
                  You'd think the existence of the 'open graphics stack' would be all the refutation required but apparently no.

                  Comment


                  • #10
                    Haters gonna hate.

                    Comment


                    • #11
                      Originally posted by RealNC View Post
                      This was in response to various people claiming that the Linux driver model of requiring hardware vendors to open source their drivers and put them in the kernel is a good idea. When vendors don't do that, the next claim is that it's enough for them to open up their docs so that "the community will code the drivers and features."

                      It doesn't look that way. Proprietary drivers support GL3 for ages now, while the open driver stack is still based on old, outdated specs. IMO this is proof enough that the Linux driver model is wrong and its supporters too. Otherwise the open graphics stack would have been feature complete years ago.
                      I think it has more to do with the number of people and the size of graphic driver which are the biggest driver in the kernel (and not everythings is in the kernel). To me it's more like opensource is around 30 peoples accross all hw & core mesa while each closed source driver are likely done by way more than 300 people working full time.

                      By the way the closed source driver on linux use the linux driver model (or maybe i am missing what you mean by the driver model).

                      Comment


                      • #12
                        Note that even though you might not be able to see GL3/4 support due to some patent issues anytime soon, we will support (almost) all the functionality through extensions. Currently with a GL2.1 driver from Mesa, you already get nearly half the GL3.x features via extensions and you may start using them now if your driver supports them. Here's what's done:
                        http://cgit.freedesktop.org/mesa/mesa/tree/docs/GL3.txt

                        Comment


                        • #13
                          The hw documentation (at least from AMD) has everything you'd need for implementing the latest GL features. OpenGL is a huge API and it takes a lot of effort just to implement the infrastructure required to add driver support. As Jerome noted, it's an issue of man power, not lack of specs or bad design. The closed drivers have several hundred developers working on them, the open drivers have just a handful.

                          It would have been nice if GL4 had dropped all the old fixed function stuff, but it didn't. It's a lot easier to implement a relatively legacy-free API like DX10/11 than GL3/4 and all it's legacy baggage.

                          Comment


                          • #14
                            By driver model I mean a driver ABI. Driver ABIs exist on all major operating systems, except Linux.

                            Let me clarify, because I'm not a hater:

                            Some people claim that all software should be Free and Open Source. Proprietary software should be banned from Linux. And proprietary drivers are "evil." Since they're evil, Linux should not provide a driver ABI (and it doesn't) and all drivers should be put into the kernel, without exception.

                            What is a driver ABI? It's an interface that allows for writing binary drivers that work across kernel versions (like you can do on Windows, OS X, Solaris, and many others systems.) Linux lacks such an ABI, so vendors are forced to update their drivers on every kernel release and use internal kernel APIs that are not stable (= change between kernel versions.) Also, they are unable to interface properly with the kernel (DRM, KMS, whatever).

                            According to those people, this is a good situation since those drivers are evil and Linux not providing a driver ABI means those driver will stay problematic and therefore will force the vendors to open source their drivers.

                            And here comes the catch: the vendors don't open source their drivers. AMD didn't (fglrx is still closed), and neither did NVidia, and neither did Intel.

                            So those people go on and claim that it's not really important for the vendors to open source their drivers, since "the community" will write their own drivers if they have the docs. Well, now they have the docs, but "the community" still lags behind. And the user is the one who suffers (can't have GL3, can't play games at native speed, etc, etc.) The proprietary drivers have blindingly fast 3D, support for latest GL versions, etc. The free drivers don't. So obviously the argument that "the community" can write drivers that are on-par with the closed ones didn't work out.

                            I maintain the position that it's not important for the drivers to be free. It's important that they work. But they can't work unless the OS itself is friendly to binary drivers (Windows, OS X, etc), which Linux isn't. And it isn't because people claim that drivers should be open.

                            It's just brain damage if you ask me. Give hardware vendors a proper interface to write their drivers and Linux will get a huge boost. Why should I use Mesa if both AMD and NVidia have good GL implementations tweaked for their hardware? Why should I use the open drivers if the binary blobs would work just as well? Why should I update my kernel just to get a new version of the driver? I should only need to download the driver and install it, not replace the whole bloody kernel. People have problems with their hardware on Linux more often than not. A driver ABI would make everyone happy.

                            Comment


                            • #15
                              Originally posted by RealNC View Post
                              By driver model I mean a driver ABI. Driver ABIs exist on all major operating systems, except Linux.

                              [...]

                              A driver ABI would make everyone happy.
                              Stable ABI would only have solve your own use case where you want to use lastest bleeding edge kernel with closed source driver, i can understand that.

                              But i think you are omitting the good of no stable ABI, the ability to fix the API kernel provide to driver, the ability to hugely modify and improve crucial part of the kernel without having to worry about ABI.

                              And no we don't leave in fantasy world where everythings is in its own little isolated world, driver for GPU for instance heavily rely on the memory management of the kernel and linux kernel has seens major change to that. Others have made a far better point than me on why stable ABI is non sense.

                              Also note that windows stable ABI seems to be a myth. I am pretty sure driver ABI severly evolved btw W95, XP, Vista, Win7. I am not an expert on windows side but to me it seems that a lot of hw stop working from one version to the other and need a new driver (something that happen only if the manufacturer feels the need for a new driver). DX also change the API at every major release. I guess most of this is hidden to end user so no one really notice it, you just endup with a tons of dll each supporting old old ABI.

                              In the end i think no stable ABI also push hw manufacturer to consider an open source driver that can live upstream where it will get all the attention needed. So i think it has done more good and likely is one of the reasons why Linux is much better these days (this is my own personal feeling).

                              Comment

                              Working...
                              X