Announcement

Collapse
No announcement yet.

Google Opens Up High-Performance Software Graphics Rasterizer

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

  • Google Opens Up High-Performance Software Graphics Rasterizer

    Phoronix: Google Opens Up High-Performance Software Graphics Rasterizer

    Some exciting non-Polaris news today is that Google has open-sourced SwiftShader, the library they use for high-performance graphics rendering on the CPU...

    http://www.phoronix.com/scan.php?pag...ns-SwiftShader

  • #2
    They do NOT use it in Android. They use it in **ANDROID DEVELOPMENT TOOLS**.

    Comment


    • #3
      Now that Mozilla showed Presto rendering everything super fast on the GPU, they open source their CPU rendering software. Ok.

      Comment


      • #4
        It fails to build on my machine.

        Code:
        SwiftShader/src/OpenGL/libEGL/libEGL.cpp:992:47: error: cast from 'EGLClientBuffer {aka void*}' to 'GLuint {aka unsigned int}' loses precision [-fpermissive]
          GLuint name = reinterpret_cast<GLuint>(buffer);

        Comment


        • #5
          Hmm, isn't it the SwiftShader code once developed by Transgaming (https://en.wikipedia.org/wiki/TransGaming#SwiftShader) ?

          Comment


          • #6
            Originally posted by atomsymbol View Post
            It fails to build on my machine.

            Code:
            SwiftShader/src/OpenGL/libEGL/libEGL.cpp:992:47: error: cast from 'EGLClientBuffer {aka void*}' to 'GLuint {aka unsigned int}' loses precision [-fpermissive]
            GLuint name = reinterpret_cast<GLuint>(buffer);
            Hmmm... They're probably treating warnings as errors (using -Werror), and your version of GCC emits a warning where theirs didn't. Or maybe it's due to a difference in the version of one of your header files. Either way, if you can disable -Werror, you should get past this.

            Comment


            • #7
              Originally posted by MiKom View Post
              Hmm, isn't it the SwiftShader code once developed by Transgaming (https://en.wikipedia.org/wiki/TransGaming#SwiftShader) ?
              I would assume so, they did license the technology from TransGaming.
              Maybe they had a talk with them and convinced them to open it up?

              Comment


              • #8
                Originally posted by Nobu View Post

                I would assume so, they did license the technology from TransGaming.
                Maybe they had a talk with them and convinced them to open it up?
                The original version of swiftshader (called swShader) was published as open source by Nicolas Capens (first occurrence I ever seen is on GameDev.net a long, long time ago) and later acquired by Transgaming. It was based upon an inline assembler called softwire - also by Nicolas Capens - and his implementation of half-space texture mapping (which he described on devmaster here: http://forum.devmaster.net/t/advance...erization/6145). See https://sourceforge.net/projects/sw-shader/ where some source is still available.

                So technically, since swShader was distributed as LGPL, all Google has to do was to fork it and continue development to get it to the point where it is usable. Although I agree they probably have licensed the tech from Transgaming

                edit: I gave a look to the CONTRIBUTORS.txt file and it appears that Nicolas now works at google. So he may have transferred the tech (which he owns) to google.
                Last edited by Emmanuel Deloget; 06-29-2016, 02:49 PM.

                Comment


                • #9
                  So how does this open source Direct3D implementation compare to what is (is it?) in Wine? Would pulling this into Wine improve compatibility for D3D software?

                  Comment


                  • #10
                    At first I was thinking "ugh great, we don't need another software rasterizer" but at least this is focused more on GLES than GL, which llvmpipe, softpipe, and swrast are all a bit lacking in.

                    Comment

                    Working...
                    X