OpenSWR provides a high performance, highly scalable OpenGL-compatible software rasterizer that allows use of unmodified visualization software. This allows working with datasets when GPU hardware isn't available or is limiting. OpenSWR is completely CPU-based, and runs on anything from laptops to workstations to compute nodes in HPC systems.
Click images for more information
OpenSWR internally builds on top of LLVM, and fully utilizes modern instruction sets like Intel® Advanced Vector Extensions (AVX, AVX2, and AVX512) to achieve high rendering performance. The charts below illustrate the compelling advantage of OpenSWR over Mesa llvmpipe in a real application scenario.
Click for more information
OpenSWR is now fully integrated into Mesa and provides a SWR renderer that supports much of the OpenGL 3.3 Core and OpenGL 3.0 Compatibility contexts. Standard Mesa environment variables provide the ability to run-time switch between OpenSWR and llvmpipe software renderers.For more detail, please see the "OpenSWR Overview" presented at the Intel® HPC Developers Conference at SC15.
Building Mesa with OpenSWR
OpenSWR is built as a gallium driver within Mesa.
- February 19, 2020
- Mesa 20.0.0 has been released with an important feature change: support for tessellation shaders in OpenSWR!
- December 12, 2019
Mesa 19.3.0 has been released with various fixes and couple of new features that are part of
- enhanced textureGather
- geometry shader instancing
- geometry shader multiple streams
- September 25, 2019
- With Mesa 19.2.0 OpenSWR development has been revamped. Apart from many updates in the rasterizer core, support for the following OpenGL extensions has been added:
- March 27, 2018
- Mesa 18.0.0 has been released with support for SKX and KNL architectures in OpenSWR.
- January 30, 2017
- Added Windows build instructions, and moved instructions for both Linux and Windows to their own page.
- July 8, 2016
- Mesa 12.0 has been released and contains OpenSWR as an optional driver. Development work on OpenSWR is now done on the mesa git master repository.
- Oct 19, 2015
- Our initial public version of our Mesa+SWR integration work is now available from https://github.com/OpenSWR/openswr-mesa.
- Aug 9, 2015
Since the release of early alpha, we have been busy integrating our OpenSWR core into the Mesa project. This enables us to take advantage of a very mature, very feature complete driver stack that would have been very difficult to develop on our own.
The result is that OpenSWR now has far greater functionality than the OpenGL 1.4 features available in the first alpha release.
- Dec 12, 2014
ALPHA release. This version is the first to be released to the public. Please bear with us if there are build or functionality issues. The major applications used for testing were ParaView and VisIt - if you are trying another program you may encounter missing features.
This version is coming out as we are working on some major cleanups to the code. In order to keep our commitment to release this to the community and to provide a well-tested version, we are releasing the code that was used for the SC14 demonstrations. The next major release will contain the cleanups.
The source code can be downloaded here:
- Dec 8, 2014
- The slides for our OpenSWR-related talks at SC14 are now available:
- Nov 13, 2014
There is an upcoming talk on OpenSWR at Supercomputing 2014:
- At the "Visualization" track of the Intel® HPC Developer Conference (Nov 16, 2014)