OpenSWR provides a high performance, highly scalable, OpenGL-compatible software rasterizer. OpenSWR:
- is completely CPU-based
- runs on platforms from laptops to workstations to compute nodes in high performance computing environments.
- visualizes datasets when GPU hardware is not available or is limiting.
- uses unmodified visualization application software with OpenSWR as a drop-in runtime layer replacement.
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 the Mesa "Amber" or "Classic" designation branch. OpenSWR 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.
- March 28, 2022
Mesa 21.3.x is the latest branch where OpenSWR resides. This branch is refered to as "Amber" or "Classic". OpenSWR has been removed from the Mesa 22.x branch. News pieces from phoronix.com:
- December 7, 2021: "Intel's SWR Removed From Mainline Mesa..."
- December 3, 2021: "Mesa Classic Retired..."
Visit the Build and Run Mesa with OpenSWR section of this document for updated deployment guidance.
See the Mesa repository browser for latest branch, staging, and tag information.
- February 19, 2020
- Mesa 20.0.0 has been released with an important feature change: support for tessellation shaders in OpenSWR!
- December 12, 2019
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
- At the "Visualization" track of the Intel® HPC Developer Conference (Nov 16, 2014)