<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8">
  <title>Mesa Introduction</title>
  <link rel="stylesheet" type="text/css" href="mesa.css">
</head>
<body>

<div class="header">
  <h1>The Mesa 3D Graphics Library</h1>
</div>

<iframe src="contents.html"></iframe>
<div class="content">

<h1>Introduction</h1>

<p>
Mesa is an open-source implementation of the
<a href="http://www.opengl.org/">OpenGL</a> specification -
a system for rendering interactive 3D graphics.
</p>

<p>
A variety of device drivers allows Mesa to be used in many different
environments ranging from software emulation to complete hardware acceleration
for modern GPUs.
</p>

<p>
Mesa ties into several other open-source projects: the 
<a href="http://dri.freedesktop.org/">Direct Rendering 
Infrastructure</a> and <a href="http://x.org">X.org</a> to 
provide OpenGL support to users of X on Linux, FreeBSD and other operating 
systems.
</p>



<h1>Project History</h1>

<p>
The Mesa project was originally started by Brian Paul.
Here's a short history of the project.
</p>

<p>
August, 1993: I begin working on Mesa in my spare time.  The project
has no name at that point.  I was simply interested in writing a simple
3D graphics library that used the then-new OpenGL API.  I was partially
inspired by the <em>VOGL</em> library which emulated a subset of IRIS GL.
I had been programming with IRIS GL since 1991.
</p>

<p>
November 1994: I contact SGI to ask permission to distribute my OpenGL-like
graphics library on the internet.  SGI was generally receptive to the
idea and after negotiations with SGI's legal department, I get permission
to release it.
</p>

<p>
February 1995: Mesa 1.0 is released on the internet.  I expected that
a few people would be interested in it, but not thousands.
I was soon receiving patches, new features and thank-you notes on a
daily basis.  That encouraged me to continue working on Mesa.  The
name Mesa just popped into my head one day.  SGI had asked me not to use
the terms <em>"Open"</em> or <em>"GL"</em> in the project name and I didn't
want to make up a new acronym.  Later, I heard of the Mesa programming
language and the Mesa spreadsheet for NeXTStep.
</p>

<p>
In the early days, OpenGL wasn't available on too many systems.
It even took a while for SGI to support it across their product line.
Mesa filled a big hole during that time.
For a lot of people, Mesa was their first introduction to OpenGL.
I think SGI recognized that Mesa actually helped to promote
the OpenGL API, so they didn't feel threatened by the project.
</p>


<p>
1995-1996: I continue working on Mesa both during my spare time and during
my work hours at the Space Science and Engineering Center at the University
of Wisconsin in Madison.  My supervisor, Bill Hibbard, lets me do this because
Mesa is now being using for the <a href="http://www.ssec.wisc.edu/%7Ebillh/vis.html">Vis5D</a> project.
</p><p>
October 1996: Mesa 2.0 is released.  It implements the OpenGL 1.1 specification.
</p>

<p>
March 1997: Mesa 2.2 is released.  It supports the new 3dfx Voodoo graphics
card via the Glide library.  It's the first really popular hardware OpenGL
implementation for Linux.
</p>

<p>
September 1998: Mesa 3.0 is released.  It's the first publicly-available
implementation of the OpenGL 1.2 API.
</p>

<p>
March 1999: I attend my first OpenGL ARB meeting.  I contribute to the
development of several official OpenGL extensions over the years.
</p>

<p>
September 1999: I'm hired by Precision Insight, Inc.  Mesa is a key
component of 3D hardware acceleration in the new DRI project for XFree86.
Drivers for 3dfx, 3dLabs, Intel, Matrox and ATI hardware soon follow.
</p>

<p>
October 2001: Mesa 4.0 is released.
It implements the OpenGL 1.3 specification.
</p>


<p>
November 2001: I cofounded Tungsten Graphics, Inc. with Keith Whitwell,
Jens Owen, David Dawes and Frank LaMonica.
Tungsten Graphics was acquired by VMware in December 2008.
</p>

<p>
November 2002: Mesa 5.0 is released.
It implements the OpenGL 1.4 specification.
</p>

<p>
January 2003: Mesa 6.0 is released.  It implements the OpenGL 1.5
specification as well as the GL_ARB_vertex_program and
GL_ARB_fragment_program extensions.
</p>

<p>
June 2007: Mesa 7.0 is released, implementing the OpenGL 2.1 specification
and OpenGL Shading Language.
</p>

<p>
2008: Keith Whitwell and other Tungsten Graphics employees develop
<a href="http://en.wikipedia.org/wiki/Gallium3D">Gallium</a>
- a new GPU abstraction layer.  The latest Mesa drivers are based on
Gallium and other APIs such as OpenVG are implemented on top of Gallium.
</p>

<p>
February 2012: Mesa 8.0 is released, implementing the OpenGL 3.0 specification
and version 1.30 of the OpenGL Shading Language.
</p>

<p>
Ongoing: Mesa is the OpenGL implementation for several types of hardware
made by Intel, AMD and NVIDIA, plus the VMware virtual GPU.
There's also several software-based renderers: swrast (the legacy
Mesa rasterizer), softpipe (a gallium reference driver) and llvmpipe
(LLVM/JIT-based high-speed rasterizer).
Work continues on the drivers and core Mesa to implement newer versions
of the OpenGL specification.
</p>



<h1>Major Versions</h1>

<p>
This is a summary of the major versions of Mesa.
Mesa's major version number has been incremented whenever a new version
of the OpenGL specification is implemented.
</p>


<h2>Version 9.x features</h2>
<p>
Version 9.x of Mesa implements the OpenGL 3.1 API.
While the driver for Intel Sandy Bridge and Ivy Bridge is the only
driver to support OpenGL 3.1, many developers across the open-source
community contributed features required for OpenGL 3.1.  The primary
features added since the Mesa 8.0 release are
GL_ARB_texture_buffer_object and GL_ARB_uniform_buffer_object.
</p>


<h2>Version 8.x features</h2>
<p>
Version 8.x of Mesa implements the OpenGL 3.0 API.
The developers at Intel deserve a lot of credit for implementing most
of the OpenGL 3.0 features in core Mesa, the GLSL compiler as well as
the i965 driver.
</p>


<h2>Version 7.x features</h2>
<p>
Version 7.x of Mesa implements the OpenGL 2.1 API.  The main feature
of OpenGL 2.x is the OpenGL Shading Language.
</p>


<h2>Version 6.x features</h2>
<p>
Version 6.x of Mesa implements the OpenGL 1.5 API with the following
extensions incorporated as standard features:
</p>
<ul>
<li>GL_ARB_occlusion_query
<li>GL_ARB_vertex_buffer_object
<li>GL_EXT_shadow_funcs
</ul>
<p>
Also note that several OpenGL tokens were renamed in OpenGL 1.5
for the sake of consistency.
The old tokens are still available.
</p>
<pre>
New Token                   Old Token
------------------------------------------------------------
GL_FOG_COORD_SRC            GL_FOG_COORDINATE_SOURCE
GL_FOG_COORD                GL_FOG_COORDINATE
GL_CURRENT_FOG_COORD        GL_CURRENT_FOG_COORDINATE
GL_FOG_COORD_ARRAY_TYPE     GL_FOG_COORDINATE_ARRAY_TYPE
GL_FOG_COORD_ARRAY_STRIDE   GL_FOG_COORDINATE_ARRAY_STRIDE
GL_FOG_COORD_ARRAY_POINTER  GL_FOG_COORDINATE_ARRAY_POINTER
GL_FOG_COORD_ARRAY          GL_FOG_COORDINATE_ARRAY
GL_SRC0_RGB                 GL_SOURCE0_RGB
GL_SRC1_RGB                 GL_SOURCE1_RGB
GL_SRC2_RGB                 GL_SOURCE2_RGB
GL_SRC0_ALPHA               GL_SOURCE0_ALPHA
GL_SRC1_ALPHA               GL_SOURCE1_ALPHA
GL_SRC2_ALPHA               GL_SOURCE2_ALPHA
</pre>
<p>
See the
<a href="http://www.opengl.org/documentation/spec.html">
OpenGL specification</a> for more details.
</p>



<h2>Version 5.x features</h2>
<p>
Version 5.x of Mesa implements the OpenGL 1.4 API with the following
extensions incorporated as standard features:
</p>
<ul>
<li>GL_ARB_depth_texture
<li>GL_ARB_shadow
<li>GL_ARB_texture_env_crossbar
<li>GL_ARB_texture_mirror_repeat
<li>GL_ARB_window_pos
<li>GL_EXT_blend_color
<li>GL_EXT_blend_func_separate
<li>GL_EXT_blend_logic_op
<li>GL_EXT_blend_minmax
<li>GL_EXT_blend_subtract
<li>GL_EXT_fog_coord
<li>GL_EXT_multi_draw_arrays
<li>GL_EXT_point_parameters
<li>GL_EXT_secondary_color
<li>GL_EXT_stencil_wrap
<li>GL_EXT_texture_lod_bias (plus, a per-texture LOD bias parameter)
<li>GL_SGIS_generate_mipmap
</ul>


<h2>Version 4.x features</h2>

<p>
Version 4.x of Mesa implements the OpenGL 1.3 API with the following
extensions incorporated as standard features:
</p>

<ul>
<li>GL_ARB_multisample
<li>GL_ARB_multitexture
<li>GL_ARB_texture_border_clamp
<li>GL_ARB_texture_compression
<li>GL_ARB_texture_cube_map
<li>GL_ARB_texture_env_add
<li>GL_ARB_texture_env_combine
<li>GL_ARB_texture_env_dot3
<li>GL_ARB_transpose_matrix
</ul>

<h2>Version 3.x features</h2>

<p>
Version 3.x of Mesa implements the OpenGL 1.2 API with the following
features:
</p>
<ul>
<li>BGR, BGRA and packed pixel formats
<li>New texture border clamp mode
<li>glDrawRangeElements()
<li>standard 3-D texturing
<li>advanced MIPMAP control
<li>separate specular color interpolation
</ul>


<h2>Version 2.x features</h2>
<p>
Version 2.x of Mesa implements the OpenGL 1.1 API with the following
features.
</p>
<ul>
<li>Texture mapping:
	<ul>
	<li>glAreTexturesResident
	<li>glBindTexture
	<li>glCopyTexImage1D
	<li>glCopyTexImage2D
	<li>glCopyTexSubImage1D
	<li>glCopyTexSubImage2D
	<li>glDeleteTextures
	<li>glGenTextures
	<li>glIsTexture
	<li>glPrioritizeTextures
	<li>glTexSubImage1D
	<li>glTexSubImage2D
	</ul>
<li>Vertex Arrays:
	<ul>
	<li>glArrayElement
	<li>glColorPointer
	<li>glDrawElements
	<li>glEdgeFlagPointer
	<li>glIndexPointer
	<li>glInterleavedArrays
	<li>glNormalPointer
	<li>glTexCoordPointer
	<li>glVertexPointer
	</ul>
<li>Client state management:
	<ul>
	<li>glDisableClientState
	<li>glEnableClientState
	<li>glPopClientAttrib
	<li>glPushClientAttrib
	</ul>
<li>Misc:
	<ul>
	<li>glGetPointer
	<li>glIndexub
	<li>glIndexubv
	<li>glPolygonOffset
	</ul>
</ul>

</div>
</body>
</html>
