Erik Faye-Lund | 60fa79b | 2020-11-20 13:35:36 +0100 | [diff] [blame] | 1 | Project History |
| 2 | =============== |
| 3 | |
| 4 | The Mesa project was originally started by Brian Paul. Here's a short |
| 5 | history of the project. |
| 6 | |
| 7 | August, 1993: I begin working on Mesa in my spare time. The project has |
| 8 | no name at that point. I was simply interested in writing a simple 3D |
| 9 | graphics library that used the then-new OpenGL API. I was partially |
| 10 | inspired by the *VOGL* library which emulated a subset of IRIS GL. I had |
| 11 | been programming with IRIS GL since 1991. |
| 12 | |
| 13 | November 1994: I contact SGI to ask permission to distribute my |
| 14 | OpenGL-like graphics library on the internet. SGI was generally |
| 15 | receptive to the idea and after negotiations with SGI's legal |
| 16 | department, I get permission to release it. |
| 17 | |
| 18 | February 1995: Mesa 1.0 is released on the internet. I expected that a |
| 19 | few people would be interested in it, but not thousands. I was soon |
| 20 | receiving patches, new features and thank-you notes on a daily basis. |
| 21 | That encouraged me to continue working on Mesa. The name Mesa just |
| 22 | popped into my head one day. SGI had asked me not to use the terms |
| 23 | *"Open"* or *"GL"* in the project name and I didn't want to make up a |
| 24 | new acronym. Later, I heard of the Mesa programming language and the |
| 25 | Mesa spreadsheet for NeXTStep. |
| 26 | |
| 27 | In the early days, OpenGL wasn't available on too many systems. It even |
| 28 | took a while for SGI to support it across their product line. Mesa |
| 29 | filled a big hole during that time. For a lot of people, Mesa was their |
| 30 | first introduction to OpenGL. I think SGI recognized that Mesa actually |
| 31 | helped to promote the OpenGL API, so they didn't feel threatened by the |
| 32 | project. |
| 33 | |
| 34 | 1995-1996: I continue working on Mesa both during my spare time and |
| 35 | during my work hours at the Space Science and Engineering Center at the |
| 36 | University of Wisconsin in Madison. My supervisor, Bill Hibbard, lets me |
| 37 | do this because Mesa is now being using for the |
| 38 | `Vis5D <https://www.ssec.wisc.edu/%7Ebillh/vis.html>`__ project. |
| 39 | |
| 40 | October 1996: Mesa 2.0 is released. It implements the OpenGL 1.1 |
| 41 | specification. |
| 42 | |
| 43 | March 1997: Mesa 2.2 is released. It supports the new 3dfx Voodoo |
| 44 | graphics card via the Glide library. It's the first really popular |
| 45 | hardware OpenGL implementation for Linux. |
| 46 | |
| 47 | September 1998: Mesa 3.0 is released. It's the first publicly-available |
| 48 | implementation of the OpenGL 1.2 API. |
| 49 | |
| 50 | March 1999: I attend my first OpenGL ARB meeting. I contribute to the |
| 51 | development of several official OpenGL extensions over the years. |
| 52 | |
| 53 | September 1999: I'm hired by Precision Insight, Inc. Mesa is a key |
| 54 | component of 3D hardware acceleration in the new DRI project for |
| 55 | XFree86. Drivers for 3dfx, 3dLabs, Intel, Matrox and ATI hardware soon |
| 56 | follow. |
| 57 | |
| 58 | October 2001: Mesa 4.0 is released. It implements the OpenGL 1.3 |
| 59 | specification. |
| 60 | |
| 61 | November 2001: I cofounded Tungsten Graphics, Inc. with Keith Whitwell, |
| 62 | Jens Owen, David Dawes and Frank LaMonica. Tungsten Graphics was |
| 63 | acquired by VMware in December 2008. |
| 64 | |
| 65 | November 2002: Mesa 5.0 is released. It implements the OpenGL 1.4 |
| 66 | specification. |
| 67 | |
| 68 | January 2003: Mesa 6.0 is released. It implements the OpenGL 1.5 |
| 69 | specification as well as the GL_ARB_vertex_program and |
| 70 | GL_ARB_fragment_program extensions. |
| 71 | |
| 72 | June 2007: Mesa 7.0 is released, implementing the OpenGL 2.1 |
| 73 | specification and OpenGL Shading Language. |
| 74 | |
| 75 | 2008: Keith Whitwell and other Tungsten Graphics employees develop |
| 76 | `Gallium <https://en.wikipedia.org/wiki/Gallium3D>`__ - a new GPU |
| 77 | abstraction layer. The latest Mesa drivers are based on Gallium and |
| 78 | other APIs such as OpenVG are implemented on top of Gallium. |
| 79 | |
| 80 | February 2012: Mesa 8.0 is released, implementing the OpenGL 3.0 |
| 81 | specification and version 1.30 of the OpenGL Shading Language. |
| 82 | |
| 83 | July 2016: Mesa 12.0 is released, including OpenGL 4.3 support and |
| 84 | initial support for Vulkan for Intel GPUs. Plus, there's another Gallium |
| 85 | software driver ("swr") based on LLVM and developed by Intel. |
| 86 | |
| 87 | Ongoing: Mesa is the OpenGL implementation for devices designed by |
| 88 | Intel, AMD, NVIDIA, Qualcomm, Broadcom, Vivante, plus the VMware and |
| 89 | VirGL virtual GPUs. There's also several software-based renderers: |
| 90 | swrast (the legacy Mesa rasterizer), softpipe (a Gallium reference |
| 91 | driver), llvmpipe (LLVM/JIT-based high-speed rasterizer) and swr |
| 92 | (another LLVM-based driver). |
| 93 | |
| 94 | Work continues on the drivers and core Mesa to implement newer versions |
| 95 | of the OpenGL, OpenGL ES and Vulkan specifications. |