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.
Google has been using SwiftShader for the past seven years for 3D rendering on the CPU in cases where the GPU or graphics driver may not be capable. It's effectively been the software fallback in Google's Chrome, Android, and more for showing 3D content without depending upon the GPU.
SwiftShader implements the OpenGL ES API and thus supports WebGL fully. SwiftShader supports dynamic code generation, SIMT vector operations, multi-threading, and more for aiming towards as fast graphics as possible from the CPU. It's an interesting alternative to Gallium3D LLVMpipe or Intel's OpenSWR and will be interesting to see where it goes with now being open-source.
More details via the Chromium blog and the code is found via Google Source.
Interestingly, it also appears to implement Direct3D 9 as well as OpenGL ES. For usage, the documentation mentions, "The SwiftShader libraries act as drop-in replacements for graphics drivers. On Windows, most applications can be made to use SwiftShader's DLLs by placing them in the same folder as the executable. On Linux, the LD_LIBRARY_PATH environment variable or -rpath linker option can be used to direct applications to search for shared libraries in the indicated directory first."
Google has been using SwiftShader for the past seven years for 3D rendering on the CPU in cases where the GPU or graphics driver may not be capable. It's effectively been the software fallback in Google's Chrome, Android, and more for showing 3D content without depending upon the GPU.
SwiftShader implements the OpenGL ES API and thus supports WebGL fully. SwiftShader supports dynamic code generation, SIMT vector operations, multi-threading, and more for aiming towards as fast graphics as possible from the CPU. It's an interesting alternative to Gallium3D LLVMpipe or Intel's OpenSWR and will be interesting to see where it goes with now being open-source.
More details via the Chromium blog and the code is found via Google Source.
Interestingly, it also appears to implement Direct3D 9 as well as OpenGL ES. For usage, the documentation mentions, "The SwiftShader libraries act as drop-in replacements for graphics drivers. On Windows, most applications can be made to use SwiftShader's DLLs by placing them in the same folder as the executable. On Linux, the LD_LIBRARY_PATH environment variable or -rpath linker option can be used to direct applications to search for shared libraries in the indicated directory first."
24 Comments