Announcement

Collapse
No announcement yet.

GPU Software Fallbacks: What's Better?

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

  • #11
    I have been using GNOME 3 with swrast on Samsung Chromebook for about a year, and it's very usable.
    After some usage things get stable and somewhat usable. And I've been developing GTK3 stuff in it.

    Comment


    • #12
      Originally posted by Luke_Wolf View Post
      I've got to say my vote is for not trying to do things with hardware that it was never designed to do, be that console hardware or the Raspberry Pi. It always ends poorly and you're only supporting delusional idiots who want to think their hardware is way more powerful than it really is, while anybody sane will you know... buy adequate hardware.
      In some cases you might have some operation concerning a not too high amount of vertices that could be offloaded to the GPU using a vertex or geometry shader, and not having software fallbacks in the driver will force all the devs to either handle it with the CPU only, or roll their own software fallback when only one could have been written.

      It's not really a big deal either way (those cases should be fairly rare), but I don't see the point of not allowing software fallbacks.

      Comment


      • #13
        Originally posted by Luke_Wolf View Post
        I've got to say my vote is for not trying to do things with hardware that it was never designed to do, be that console hardware or the Raspberry Pi. It always ends poorly and you're only supporting delusional idiots who want to think their hardware is way more powerful than it really is, while anybody sane will you know... buy adequate hardware.
        That's easy to say. Until you discover that your hardware does everything GL 2.1 requires except these two or three functions and there is a mess of software that runs on GL 2.1 but doesn't support GLES 2. this leaves driver devs with two choices: 1) go find every peice of software using functionality their hardware doesn't support and submit patches to use something else and hope that a) the upstream is willing to take, b) the upstream doesn't accidently (or purposefully break it years later) and c) that the updates for that software all reach distros before their users get super cranky, or 2) use software fallbacks for a few pieces of missing functionality, accept that they are slow and get on with it.

        Comment


        • #14
          Completely black screens are worse than slow performance, but visual mistakes on portions of the screen is better than slow performance.

          I don't know if it's possible to ever guarantee that you don't completely mess up everything but allow some things to fail for performance, but presumably there is a good tradeoff of features somewhere that you can target which handles all reasonable cases while letting the unreasonable ones fail.

          Comment


          • #15
            Originally posted by crymsonpheonix View Post
            That's easy to say. Until you discover that your hardware does everything GL 2.1 requires except these two or three functions and there is a mess of software that runs on GL 2.1 but doesn't support GLES 2. this leaves driver devs with two choices: 1) go find every peice of software using functionality their hardware doesn't support and submit patches to use something else and hope that a) the upstream is willing to take, b) the upstream doesn't accidently (or purposefully break it years later) and c) that the updates for that software all reach distros before their users get super cranky, or 2) use software fallbacks for a few pieces of missing functionality, accept that they are slow and get on with it.
            Everything OpenGL 2.1 requires except for 3 functions... or in short a ~10 year old GPU. No instead of being an insane asshole and trying to force the devs to deal with my hopelessly obsolete hardware, and force the hardware to do things it was never meant to do, I would do the sane thing and buy new hardware.

            Comment


            • #16
              Originally posted by Luke_Wolf View Post
              Everything OpenGL 2.1 requires except for 3 functions... or in short a ~10 year old GPU. No instead of being an insane asshole and trying to force the devs to deal with my hopelessly obsolete hardware, and force the hardware to do things it was never meant to do, I would do the sane thing and buy new hardware.
              Yeah I'm with Luke on this one. If my hardware didn't do at least OpenGL 3... I'd be looking to upgrade. I get that its not viable for everyone because of one reason or another, but still. Hell this Sandy Bridge laptop ive got can do 3.1 and im still looking at Haswell / Bridgewell / Kaveri for my next Laptop.
              All opinions are my own not those of my employer if you know who they are.

              Comment


              • #17
                Software fallbacks are the way to go!

                Of course software fallbacks are the way to go! I can't believe Gallium3D doesn't have them! After all, you can always chose to turn the software fallback off if you want speed and visual mistakes, but if you don't have the software fallback then you're stuck with the visual mistakes or black sc. So swrast gives users a choice, which is a good thing.

                Plus, it gives Linux bragging rights over M$ and Apple - look, with Linux/swrast, not only do I extend the life of the equipment, I can get it to learn new tricks that it was never designed to do. How cool is that! Stops planned hardware deprecation and forced hardware upgrades dead in their tracks. Good for the wallet, and good for the environment!

                This is coming from someone who has played the FlightGear 3D flight simulator on a 1998 laptop with Neomagic graphics. Thanks to the beauty of Mesa and swrast!

                Comment


                • #18
                  Originally posted by stan View Post
                  Of course software fallbacks are the way to go! I can't believe Gallium3D doesn't have them! After all, you can always chose to turn the software fallback off if you want speed and visual mistakes, but if you don't have the software fallback then you're stuck with the visual mistakes or black sc. So swrast gives users a choice, which is a good thing.
                  If you read the article again, you will see that for many things Gallium3d does have them. And one of the devs states it would be easy to add more for the cases where it currently does not.

                  Also, the users choice is between two broken options, between "plague and cholera" . Being forced to such a choice is not a good thing. Better to fix the shit so it just-works. Black screen isperhaps the strongest incentive for that.

                  Comment


                  • #19
                    Originally posted by bridgman View Post
                    Yep, ideally the stack would be able to pop up something like "this app is using capabilities not supported by the HW so you need to choose between (slow) SW fallbacks or rendering only what the HW can handle".

                    I suspect the reason people still favor software fallbacks is that they are probably a bit less likely to encourage "tweak the app until the rendering looks OK" development which is inevitably followed by "oh crap, the incomplete rendering on HW vendor A is different from the incomplete rendering on HW vendor B". I guess the best would probably be universal agreement that drivers will never use SW fallbacks and apps will always have the ability to fall back to a lower GL level which all HW supports.
                    Let me try to make this as clear as possible:

                    Give us GPU feature levels.
                    Give us GPU feature levels.
                    Give us GPU feature levels.
                    Give us GPU feature levels.
                    Give us GPU feature levels.

                    We have been clamoring for this since 2003. Khronos have one final chance to get this right in OpenGL 5.0 - but they will most likely !@#$ this up again, like they did with OpenGL 3.0 and 4.0.

                    The writing is on the wall. Between Metal, Mantle and D3D12, OpenGL will have to adapt or die.

                    Comment


                    • #20
                      Why not add a Text Message in a Display Corner that some required features only available as a software fallback. In this case the user know thy the application is slow and if he really need the application he can live with it.

                      Comment

                      Working...
                      X