<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>Banner</title>
-<STYLE TYPE="TEXT/CSS" >
+ <style type="text/css" >
<!--
-BODY { BACKGROUND: BLACK; COLOR: WHITE } TABLE { width: 94%; text-align: left; }
-TD { vertical-align: top }
-H1 {
-FONT: X-LARGE sans-serif; TEXT-ALIGN: CENTER;
-HEIGHT: 75PX; MARGIN-LEFT: 100PX; MARGIN-RIGHT: 100PX }
-.gears { WIDTH: 100PX; HEIGHT: 73PX; FLOAT: LEFT; BACKGROUND: URL('gears.png') RIGHT NO-REPEAT }
-DIV + .gears { FLOAT: RIGHT; BACKGROUND-POSITION: LEFT }
+body { background: black; color: white } table { width: 94%; text-align: left; }
+td { vertical-align: top }
+h1 {
+font: x-large sans-serif; text-align: center;
+height: 75px; margin-left: 100px; margin-right: 100px }
+.gears { width: 100px; height: 73px; float: left; background: url('gears.png') right no-repeat }
+div + .gears { float: right; background-position: left }
/*
This should happen in the future instead:
-H1 {
-BORDER-LEFT: 71PX SOLID #C11800; BORDER-RIGHT: 71PX SOLID #00C130;
-BORDER-TOP: 0PX; BORDER-BOTTOM: 0PX;
-border-image: url(gears.png) 100%; -WEBKIT-border-image: url(gears.png) 100%;
+h1 {
+border-left: 71px solid #c11800; border-right: 71px solid #00c130;
+border-top: 0px; border-bottom: 0px;
+border-image: url(gears.png) 100%; -webkit-border-image: url(gears.png) 100%;
}
*/
-->
-</STYLE >
+</style >
</head>
-<body ><DIV CLASS="gears" ></DIV ><DIV CLASS="gears" ></DIV ><H1 >The
-Mesa 3D Graphics Library</H1 >
+<body ><div class="gears" ></div ><div class="gears" ></div ><h1 >The
+Mesa 3D Graphics Library</h1 >
</body>
</html>
<ul>
<li><a href="intro.html" target="MainFrame">Introduction</a>
<li><a href="news.html" target="MainFrame">News</a>
-<LI><A HREF="developers.html" target="MainFrame">Developers</A>
+<li><a href="developers.html" target="MainFrame">Developers</a>
<li><a href="systems.html" target="MainFrame">Platforms and Drivers</a>
<li><a href="license.html" target="MainFrame">License & Copyright</a>
<li><a href="faq.html" target="MainFrame">FAQ</a>
<li><a href="egl.html" target="MainFrame">EGL</a>
<li><a href="opengles.html" target="MainFrame">OpenGL ES</a>
<li><a href="openvg.html" target="MainFrame">OpenVG / Vega</a>
-<LI><A HREF="envvars.html" target="MainFrame">Environment Variables</A>
-<LI><A HREF="osmesa.html" target="MainFrame">Off-Screen Rendering</A>
-<LI><A HREF="debugging.html" target="MainFrame">Debugging Tips</A>
-<LI><A HREF="perf.html" target="MainFrame">Performance Tips</A>
-<LI><A HREF="extensions.html" target="MainFrame">Mesa Extensions</A>
-<LI><A HREF="mangling.html" target="MainFrame">Function Name Mangling</A>
-<LI><A href="llvmpipe.html" target="MainFrame">Gallium llvmpipe driver</A>
-<LI><A href="vmware-guest.html" target="MainFrame">VMware SVGA3D guest driver</a>
-<LI><A href="postprocess.html" target="MainFrame">Gallium post-processing</A>
-<LI><A href="viewperf.html" target="MainFrame">Viewperf Issues</A>
+<li><a href="envvars.html" target="MainFrame">Environment Variables</a>
+<li><a href="osmesa.html" target="MainFrame">Off-Screen Rendering</a>
+<li><a href="debugging.html" target="MainFrame">Debugging Tips</a>
+<li><a href="perf.html" target="MainFrame">Performance Tips</a>
+<li><a href="extensions.html" target="MainFrame">Mesa Extensions</a>
+<li><a href="mangling.html" target="MainFrame">Function Name Mangling</a>
+<li><a href="llvmpipe.html" target="MainFrame">Gallium llvmpipe driver</a>
+<li><a href="vmware-guest.html" target="MainFrame">VMware SVGA3D guest driver</a>
+<li><a href="postprocess.html" target="MainFrame">Gallium post-processing</a>
+<li><a href="viewperf.html" target="MainFrame">Viewperf Issues</a>
</ul>
<b>Developer Topics</b>
-<H2>Coding Style</H2>
+<h2>Coding Style</h2>
<p>
Mesa's code style has changed over the years. Here's the latest.
</p>
-<H2>Making a New Mesa Release</H2>
+<h2>Making a New Mesa Release</h2>
<p>
These are the instructions for making a new Mesa release.
</p>
-<H3>Get latest source files</H3>
+<h3>Get latest source files</h3>
<p>
Use git to get the latest Mesa files from the git repository, from whatever
branch is relevant.
</p>
-<H3>Verify and update version info</H3>
+<h3>Verify and update version info</h3>
<p>
Create/edit the docs/relnotes-x.y.html file to document what's new in the release.
Add the new relnotes-x.y.html file to <a href="relnotes.html">relnotes.html</a>.
</p>
-<H3>Make the tarballs</H3>
+<h3>Make the tarballs</h3>
<p>
Make the distribution files. From inside the Mesa directory:
<pre>
compile everything, and run some demos to be sure everything works.
</p>
-<H3>Update the website and announce the release</H3>
+<h3>Update the website and announce the release</h3>
<p>
Follow the directions on SourceForge for creating a new "release" and
uploading the tarballs.
<p>Several factors combine to make efficient dispatch of OpenGL functions
fairly complicated. This document attempts to explain some of the issues
and introduce the reader to Mesa's implementation. Readers already familiar
-with the issues around GL dispatch can safely skip ahead to the <A
-HREF="#overview">overview of Mesa's implementation</A>.</p>
+with the issues around GL dispatch can safely skip ahead to the <a
+href="#overview">overview of Mesa's implementation</a>.</p>
-<H2>1. Complexity of GL Dispatch</H2>
+<h2>1. Complexity of GL Dispatch</h2>
<p>Every GL application has at least one object called a GL <em>context</em>.
This object, which is an implicit parameter to ever GL function, stores all
similar function. Mesa provides a wrapper function called
<tt>_glapi_get_dispatch</tt> that is used by default.</p>
-<H2>3. Optimizations</H2>
+<h2>3. Optimizations</h2>
<p>A number of optimizations have been made over the years to diminish the
performance hit imposed by GL dispatch. This section describes these
optimizations. The benefits of each optimization and the situations where
each can or cannot be used are listed.</p>
-<H3>3.1. Dual dispatch table pointers</H3>
+<h3>3.1. Dual dispatch table pointers</h3>
<p>The vast majority of OpenGL applications use the API in a single threaded
manner. That is, the application has only one thread that makes calls into
<tr><td>Improved <tt>GET_DISPATCH</tt> Implementation</td></tr></table>
</blockquote>
-<H3>3.2. ELF TLS</H3>
+<h3>3.2. ELF TLS</h3>
<p>Starting with the 2.4.20 Linux kernel, each thread is allocated an area
of per-thread, global storage. Variables can be put in this area using some
<tt>GLX_USE_TLS</tt>. Any platform capable of using TLS should use this as
the default dispatch method.</p>
-<H3>3.3. Assembly Language Dispatch Stubs</H3>
+<h3>3.3. Assembly Language Dispatch Stubs</h3>
<p>Many platforms has difficulty properly optimizing the tail-call in the
dispatch stubs. Platforms like x86 that pass parameters on the stack seem
language versions. The amount of optimization provided by using assembly
stubs varies from platform to platform and application to application.
However, by using the assembly stubs, many platforms can use an additional
-space optimization (see <A HREF="#fixedsize">below</A>).</p>
+space optimization (see <a href="#fixedsize">below</a>).</p>
<p>The biggest hurdle to creating assembly stubs is handling the various
ways that the dispatch table pointer can be accessed. There are four
larger (e.g., 29,332 lines for <tt>glapi_x86-64.S</tt> versus 1,155 lines for
<tt>glapi_x86.S</tt>) and causes simple changes to the function
implementation to generate many lines of diffs. Since the assmebly files
-are typically generated by scripts (see <A HREF="#autogen">below</A>), this
+are typically generated by scripts (see <a href="#autogen">below</a>), this
isn't a significant problem.</p>
<p>Once a new assembly file is created, it must be inserted in the build
</p>
-<H1>Unpacking</H1>
+<h1>Unpacking</h1>
<p>
Mesa releases are available in three formats: .tar.bz2, .tar.gz, and .zip
</p>
-<H1>Demos and GLUT</H1>
+<h1>Demos and GLUT</h1>
<p>
A package of Mark Kilgard's GLUT library is available
</p>
-<H2>LibGL environment variables</H2>
+<h2>LibGL environment variables</h2>
<ul>
<li>LIBGL_DEBUG - If defined debug information will be printed to stderr.
-<H2>Core Mesa environment variables</H2>
+<h2>Core Mesa environment variables</h2>
<ul>
<li>MESA_NO_ASM - if set, disables all assembly language optimizations
</ul>
-<H2>Mesa Xlib driver environment variables</H2>
+<h2>Mesa Xlib driver environment variables</h2>
<p>
The following are only applicable to the Mesa Xlib software driver.
-See the <A HREF="xlibdriver.html">Xlib software driver page</A> for details.
+See the <a href="xlibdriver.html">Xlib software driver page</a> for details.
</p>
<ul>
<li>MESA_RGB_VISUAL - specifies the X visual and depth for RGB mode
-<H1 id="autoconf">2. Building with autoconf (Linux/Unix/X11)</H1>
+<h1 id="autoconf">2. Building with autoconf (Linux/Unix/X11)</h1>
<p>
The primary method to build Mesa on Unix systems is with autoconf.
-<H1 id="scons">3. Building with SCons (Windows/Linux)</H1>
+<h1 id="scons">3. Building with SCons (Windows/Linux)</h1>
<p>
To build Mesa with SCons on Linux or Windows do
-<H1 id="other">4. Building for other systems</H1>
+<h1 id="other">4. Building for other systems</h1>
<p>
Documentation for other environments (some may be very out of date):
</p>
-<UL>
-<li><A HREF="README.VMS">README.VMS</A> - VMS
-<LI><A HREF="README.CYGWIN">README.CYGWIN</A> - Cygwin
-<LI><A HREF="README.WIN32">README.WIN32</A> - Win32
-</UL>
+<ul>
+<li><a href="README.VMS">README.VMS</a> - VMS
+<li><a href="README.CYGWIN">README.CYGWIN</a> - Cygwin
+<li><a href="README.WIN32">README.WIN32</a> - Win32
+</ul>
-<H1 id="libs">5. Library Information</H1>
+<h1 id="libs">5. Library Information</h1>
<p>
When compilation has finished, look in the top-level <code>lib/</code>
</p>
-<H1 id="pkg-config">6. Building OpenGL programs with pkg-config</H1>
+<h1 id="pkg-config">6. Building OpenGL programs with pkg-config</h1>
<p>
Running <code>make install</code> will install package configuration files
-<H1>Project History</H1>
+<h1>Project History</h1>
<p>
The Mesa project was originally started by Brian Paul.
-<H1>Major Versions</H1>
+<h1>Major Versions</h1>
<p>
This is a summary of the major versions of Mesa.
</p>
-<H2>Version 8.x features</H2>
+<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
</p>
-<H2>Version 7.x features</H2>
+<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>
+<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:
-<H2>Version 5.x features</H2>
+<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:
</ul>
-<H2>Version 4.x features</H2>
+<h2>Version 4.x features</h2>
<p>
Version 4.x of Mesa implements the OpenGL 1.3 API with the following
<li>GL_ARB_transpose_matrix
</ul>
-<H2>Version 3.x features</H2>
+<h2>Version 3.x features</h2>
<p>
Version 3.x of Mesa implements the OpenGL 1.2 API with the following
</ul>
-<H2>Version 2.x features</H2>
+<h2>Version 2.x features</h2>
<p>
Version 2.x of Mesa implements the OpenGL 1.1 API with the following
features.
-<H1>License / Copyright Information</H1>
+<h1>License / Copyright Information</h1>
<p>
The Mesa distribution consists of several components. Different copyrights
</pre>
-<H1>Attention, Contributors</H1>
+<h1>Attention, Contributors</h1>
<p>
When contributing to the Mesa project you must agree to the licensing terms
</p>
-<H1>Mesa Component Licenses</H1>
+<h1>Mesa Component Licenses</h1>
<pre>
Component Location License
<br>
-<H1>OpenGL Forums</H1>
+<h1>OpenGL Forums</h1>
<p>
Here are some other OpenGL-related forums you might find useful:
</p>
<p>
-The <B>OSMesa</B> API provides three basic functions for making off-screen
+The <b>OSMesa</b> API provides three basic functions for making off-screen
renderings: OSMesaCreateContext(), OSMesaMakeCurrent(), and
OSMesaDestroyContext(). See the Mesa/include/GL/osmesa.h header for
more information about the API functions.
</p>
-<H2>Deep color channels</H2>
+<h2>Deep color channels</h2>
<p>
For some applications 8-bit color channels don't have sufficient
</p>
-<H2>PP environment variables</H2>
+<h2>PP environment variables</h2>
<ul>
<li>PP_DEBUG - If defined debug information will be printed to stderr.
The release notes summarize what's new or changed in each Mesa release.
</p>
-<UL>
-<LI><A HREF="relnotes-8.0.3.html">8.0.3 release notes</A>
-<LI><A HREF="relnotes-8.0.2.html">8.0.2 release notes</A>
-<LI><A HREF="relnotes-8.0.1.html">8.0.1 release notes</A>
-<LI><A HREF="relnotes-8.0.html">8.0 release notes</A>
-<LI><A HREF="relnotes-7.11.html">7.11 release notes</A>
-<LI><A HREF="relnotes-7.10.3.html">7.10.3 release notes</A>
-<LI><A HREF="relnotes-7.10.2.html">7.10.2 release notes</A>
-<LI><A HREF="relnotes-7.10.1.html">7.10.1 release notes</A>
-<LI><A HREF="relnotes-7.10.html">7.10 release notes</A>
-<LI><A HREF="relnotes-7.9.2.html">7.9.2 release notes</A>
-<LI><A HREF="relnotes-7.9.1.html">7.9.1 release notes</A>
-<LI><A HREF="relnotes-7.9.html">7.9 release notes</A>
-<LI><A HREF="relnotes-7.8.3.html">7.8.3 release notes</A>
-<LI><A HREF="relnotes-7.8.2.html">7.8.2 release notes</A>
-<LI><A HREF="relnotes-7.8.1.html">7.8.1 release notes</A>
-<LI><A HREF="relnotes-7.8.html">7.8 release notes</A>
-<LI><A HREF="relnotes-7.7.1.html">7.7.1 release notes</A>
-<LI><A HREF="relnotes-7.7.html">7.7 release notes</A>
-<LI><A HREF="relnotes-7.6.1.html">7.6.1 release notes</A>
-<LI><A HREF="relnotes-7.6.html">7.6 release notes</A>
-<LI><A HREF="relnotes-7.5.2.html">7.5.2 release notes</A>
-<LI><A HREF="relnotes-7.5.1.html">7.5.1 release notes</A>
-<LI><A HREF="relnotes-7.5.html">7.5 release notes</A>
-<LI><A HREF="relnotes-7.4.4.html">7.4.4 release notes</A>
-<LI><A HREF="relnotes-7.4.3.html">7.4.3 release notes</A>
-<LI><A HREF="relnotes-7.4.2.html">7.4.2 release notes</A>
-<LI><A HREF="relnotes-7.4.1.html">7.4.1 release notes</A>
-<LI><A HREF="relnotes-7.4.html">7.4 release notes</A>
-<LI><A HREF="relnotes-7.3.html">7.3 release notes</A>
-<LI><A HREF="relnotes-7.2.html">7.2 release notes</A>
-<LI><A HREF="relnotes-7.1.html">7.1 release notes</A>
-<LI><A HREF="relnotes-7.0.4.html">7.0.4 release notes</A>
-<LI><A HREF="relnotes-7.0.3.html">7.0.3 release notes</A>
-<LI><A HREF="relnotes-7.0.2.html">7.0.2 release notes</A>
-<LI><A HREF="relnotes-7.0.1.html">7.0.1 release notes</A>
-<LI><A HREF="relnotes-7.0.html">7.0 release notes</A>
-<LI><A HREF="relnotes-6.5.3.html">6.5.3 release notes</A>
-<LI><A HREF="relnotes-6.5.2.html">6.5.2 release notes</A>
-<LI><A HREF="relnotes-6.5.1.html">6.5.1 release notes</A>
-<LI><A HREF="relnotes-6.5.html">6.5 release notes</A>
-<LI><A HREF="relnotes-6.4.2.html">6.4.2 release notes</A>
-<LI><A HREF="relnotes-6.4.1.html">6.4.1 release notes</A>
-<LI><A HREF="relnotes-6.4.html">6.4 release notes</A>
-</UL>
+<ul>
+<li><a href="relnotes-8.0.3.html">8.0.3 release notes</a>
+<li><a href="relnotes-8.0.2.html">8.0.2 release notes</a>
+<li><a href="relnotes-8.0.1.html">8.0.1 release notes</a>
+<li><a href="relnotes-8.0.html">8.0 release notes</a>
+<li><a href="relnotes-7.11.html">7.11 release notes</a>
+<li><a href="relnotes-7.10.3.html">7.10.3 release notes</a>
+<li><a href="relnotes-7.10.2.html">7.10.2 release notes</a>
+<li><a href="relnotes-7.10.1.html">7.10.1 release notes</a>
+<li><a href="relnotes-7.10.html">7.10 release notes</a>
+<li><a href="relnotes-7.9.2.html">7.9.2 release notes</a>
+<li><a href="relnotes-7.9.1.html">7.9.1 release notes</a>
+<li><a href="relnotes-7.9.html">7.9 release notes</a>
+<li><a href="relnotes-7.8.3.html">7.8.3 release notes</a>
+<li><a href="relnotes-7.8.2.html">7.8.2 release notes</a>
+<li><a href="relnotes-7.8.1.html">7.8.1 release notes</a>
+<li><a href="relnotes-7.8.html">7.8 release notes</a>
+<li><a href="relnotes-7.7.1.html">7.7.1 release notes</a>
+<li><a href="relnotes-7.7.html">7.7 release notes</a>
+<li><a href="relnotes-7.6.1.html">7.6.1 release notes</a>
+<li><a href="relnotes-7.6.html">7.6 release notes</a>
+<li><a href="relnotes-7.5.2.html">7.5.2 release notes</a>
+<li><a href="relnotes-7.5.1.html">7.5.1 release notes</a>
+<li><a href="relnotes-7.5.html">7.5 release notes</a>
+<li><a href="relnotes-7.4.4.html">7.4.4 release notes</a>
+<li><a href="relnotes-7.4.3.html">7.4.3 release notes</a>
+<li><a href="relnotes-7.4.2.html">7.4.2 release notes</a>
+<li><a href="relnotes-7.4.1.html">7.4.1 release notes</a>
+<li><a href="relnotes-7.4.html">7.4 release notes</a>
+<li><a href="relnotes-7.3.html">7.3 release notes</a>
+<li><a href="relnotes-7.2.html">7.2 release notes</a>
+<li><a href="relnotes-7.1.html">7.1 release notes</a>
+<li><a href="relnotes-7.0.4.html">7.0.4 release notes</a>
+<li><a href="relnotes-7.0.3.html">7.0.3 release notes</a>
+<li><a href="relnotes-7.0.2.html">7.0.2 release notes</a>
+<li><a href="relnotes-7.0.1.html">7.0.1 release notes</a>
+<li><a href="relnotes-7.0.html">7.0 release notes</a>
+<li><a href="relnotes-6.5.3.html">6.5.3 release notes</a>
+<li><a href="relnotes-6.5.2.html">6.5.2 release notes</a>
+<li><a href="relnotes-6.5.1.html">6.5.1 release notes</a>
+<li><a href="relnotes-6.5.html">6.5 release notes</a>
+<li><a href="relnotes-6.4.2.html">6.4.2 release notes</a>
+<li><a href="relnotes-6.4.1.html">6.4.1 release notes</a>
+<li><a href="relnotes-6.4.html">6.4 release notes</a>
+</ul>
<p>
Versions of Mesa prior to 6.4 are summarized in the
<a href="versions.html">versions file</a> and the following release notes.
</p>
-<UL>
-<LI><A HREF="RELNOTES-6.3.2">RELNOTES-6.3.2</A>
-<LI><A HREF="RELNOTES-6.3">RELNOTES-6.3</A>
-<LI><A HREF="RELNOTES-6.2.1">RELNOTES-6.2.1</A>
-<LI><A HREF="RELNOTES-6.2">RELNOTES-6.2</A>
-<LI><A HREF="RELNOTES-6.1">RELNOTES-6.1</A>
-<LI><A HREF="RELNOTES-6.0">RELNOTES-6.0</A>
-<LI><A HREF="RELNOTES-5.1">RELNOTES-5.1</A>
-<LI><A HREF="RELNOTES-5.0.2">RELNOTES-5.0.2</A>
-<LI><A HREF="RELNOTES-5.0.1">RELNOTES-5.0.1</A>
-<LI><A HREF="RELNOTES-5.0">RELNOTES-5.0</A>
-<LI><A HREF="RELNOTES-4.1">RELNOTES-4.1</A>
-<LI><A HREF="RELNOTES-4.0.3">RELNOTES-4.0.3</A>
-<LI><A HREF="RELNOTES-4.0.2">RELNOTES-4.0.2</A>
-<LI><A HREF="RELNOTES-4.0.1">RELNOTES-4.0.1</A>
-<LI><A HREF="RELNOTES-4.0">RELNOTES-4.0</A>
-<LI><A HREF="RELNOTES-3.5">RELNOTES-3.5</A>
-<LI><A HREF="RELNOTES-3.4.2">RELNOTES-3.4.2</A>
-<LI><A HREF="RELNOTES-3.4.1">RELNOTES-3.4.1</A>
-<LI><A HREF="RELNOTES-3.4">RELNOTES-3.4</A>
-<LI><A HREF="RELNOTES-3.3">RELNOTES-3.3</A>
-<LI><A HREF="RELNOTES-3.2.1">RELNOTES-3.2.1</A>
-<LI><A HREF="RELNOTES-3.2">RELNOTES-3.2</A>
-<LI><A HREF="RELNOTES-3.1">RELNOTES-3.1</A>
-</UL>
+<ul>
+<li><a href="RELNOTES-6.3.2">RELNOTES-6.3.2</a>
+<li><a href="RELNOTES-6.3">RELNOTES-6.3</a>
+<li><a href="RELNOTES-6.2.1">RELNOTES-6.2.1</a>
+<li><a href="RELNOTES-6.2">RELNOTES-6.2</a>
+<li><a href="RELNOTES-6.1">RELNOTES-6.1</a>
+<li><a href="RELNOTES-6.0">RELNOTES-6.0</a>
+<li><a href="RELNOTES-5.1">RELNOTES-5.1</a>
+<li><a href="RELNOTES-5.0.2">RELNOTES-5.0.2</a>
+<li><a href="RELNOTES-5.0.1">RELNOTES-5.0.1</a>
+<li><a href="RELNOTES-5.0">RELNOTES-5.0</a>
+<li><a href="RELNOTES-4.1">RELNOTES-4.1</a>
+<li><a href="RELNOTES-4.0.3">RELNOTES-4.0.3</a>
+<li><a href="RELNOTES-4.0.2">RELNOTES-4.0.2</a>
+<li><a href="RELNOTES-4.0.1">RELNOTES-4.0.1</a>
+<li><a href="RELNOTES-4.0">RELNOTES-4.0</a>
+<li><a href="RELNOTES-3.5">RELNOTES-3.5</a>
+<li><a href="RELNOTES-3.4.2">RELNOTES-3.4.2</a>
+<li><a href="RELNOTES-3.4.1">RELNOTES-3.4.1</a>
+<li><a href="RELNOTES-3.4">RELNOTES-3.4</a>
+<li><a href="RELNOTES-3.3">RELNOTES-3.3</a>
+<li><a href="RELNOTES-3.2.1">RELNOTES-3.2.1</a>
+<li><a href="RELNOTES-3.2">RELNOTES-3.2</a>
+<li><a href="RELNOTES-3.1">RELNOTES-3.1</a>
+</ul>
</body>
</ol>
-<H2>Windows Users</H2>
+<h2>Windows Users</h2>
<p>
If you're <a href="http://git.or.cz/gitwiki/WindowsInstall" target="_parent">
mesa3d-dev mailing list.
</p>
-<H2>Developer Git Tips</H2>
+<h2>Developer Git Tips</h2>
<ol>
<li>Setting up to edit the master branch
<h1>Source Code Documentation</h1>
<p>
-<A HREF="http://www.doxygen.org" target="_parent">Doxygen</A>
+<a href="http://www.doxygen.org" target="_parent">Doxygen</a>
is used to automatically
produce cross-referenced documentation from the Mesa source code.
</p>
</p>
-<P>
+<p>
If you're reading this page from your local copy of Mesa, and have
run the doxygen scripts, you can read the documentation
-<A HREF="../doxygen/main/index.html" target="_parent">here</A>
-</P>
+<a href="../doxygen/main/index.html" target="_parent">here</a>
+</p>
</body>
</html>
Additional driver information:
</p>
-<UL>
+<ul>
<li><a href="http://dri.freedesktop.org/" target="_parent"> DRI hardware
drivers</a> for the X Window System
<li><a href="xlibdriver.html">Xlib / swrast driver</a> for the X Window System
and Unix-like operating systems
<li><a href="README.WIN32">Microsoft Windows</a>
<li><a href="vmware-guest.html">VMware</a> guest OS driver
-</UL>
+</ul>
<h1>
<ul>
<li>Early Mesa development was done while Brian was part of the
-<A HREF="http://www.ssec.wisc.edu/~billh/vis.html"
-target="_parent">SSEC Visualization Project</A> at the University of
+<a href="http://www.ssec.wisc.edu/~billh/vis.html"
+target="_parent">SSEC Visualization Project</a> at the University of
Wisconsin. He'd like to thank Bill Hibbard for letting him work on
Mesa as part of that project.
<br>
<br>
<br>
<li>The
-<A HREF="http://sourceforge.net/projects/mesa3d" target="_parent">Mesa</A>
+<a href="http://sourceforge.net/projects/mesa3d" target="_parent">Mesa</a>
website is hosted by
<a href="http://sourceforge.net" target="_parent">
<img src="http://sourceforge.net/sflogo.php?group_id=3&type=1"
</b>
-<H1>Mesa Version History</H1>
+<h1>Mesa Version History</h1>
-<H2>1.0 beta February 1995</H2>
+<h2>1.0 beta February 1995</h2>
<ul>
<li>Initial release
</ul>
-<H2>1.1 beta March 4, 1995</H2>
+<h2>1.1 beta March 4, 1995</h2>
Changes:
<ul>
<li>faster point and line drawing (2x faster)
<li>GLUT support
</ul>
-<H2>1.1.1 beta March 7, 1995</H2>
+<h2>1.1.1 beta March 7, 1995</h2>
Changes:
<ul>
<li>Reverted from eval2.c to eval.c due to FPE on Linux
<li>more Makefile changes
</ul>
-<H2>1.1.2 beta March 14, 1995</H2>
+<h2>1.1.2 beta March 14, 1995</h2>
New:
<ul>
<li>implementation of SGI's blending extensions
<li>faster transformation arithmetic
</ul>
-<H2>1.1.3 beta March 31, 1995</H2>
+<h2>1.1.3 beta March 31, 1995</h2>
New:
<ul>
<li>gluScaleImage() and gluBuild2DMipMaps() implemented
<li>more bug fixes
</ul>
-<H2>1.1.4 beta April 20, 1995</H2>
+<h2>1.1.4 beta April 20, 1995</h2>
Bug fixes:
<ul>
<li>missing #define SEEK_SET in src-tk/image.c
<li>Implemented gluPartialDisk()
</ul>
-<H2>1.2 May 22, 1995</H2>
+<h2>1.2 May 22, 1995</h2>
Bug fixes:
<ul>
<li>IRIX 4.x makefile problem
</ul>
-<B>
+<b>
NOTE: Changes for Mesa 6.4 and later are documented in the corresponding
<a href="relnotes.html">release notes</a> file.
-</B>
+</b>
</body>
</p>
-<H2>X Visual Selection</H2>
+<h2>X Visual Selection</h2>
<p>
Mesa supports RGB(A) rendering into almost any X visual type and depth.
</p>
</pre>
-<H2>Double Buffering</H2>
+<h2>Double Buffering</h2>
<p>
Mesa can use either an X Pixmap or XImage as the back color buffer when in
double-buffer mode.
</p>
-<H2>Colormaps</H2>
+<h2>Colormaps</h2>
<p>
When using Mesa directly or with GLX, it's up to the application
writer to create a window with an appropriate colormap. The GLUT
</p>
-<H2>Gamma Correction</H2>
+<h2>Gamma Correction</h2>
<p>
To compensate for the nonlinear relationship between pixel values
and displayed intensities, there is a gamma correction feature in
</p>
-<H2>Overlay Planes</H2>
+<h2>Overlay Planes</h2>
<p>
Hardware overlay planes are supported by the Xlib driver. To
determine if your X server has overlay support you can test for the
</pre>
-<H2>HPCR Dithering</H2>
+<h2>HPCR Dithering</h2>
<p>
If you set the <b>MESA_HPCR_CLEAR</b> environment variable then dithering
will be used when clearing the color buffer. This is only applicable
</p>
-<H2>Extensions</H2>
+<h2>Extensions</h2>
<p>
The following MESA-specific extensions are implemented in the Xlib driver.
</p>
This extension was added in Mesa 2.0.
</p>
-<H3>GLX_MESA_copy_sub_buffer</H3>
+<h3>GLX_MESA_copy_sub_buffer</h3>
<p>
This extension adds the glXCopySubBufferMESA() function. It works
like glXSwapBuffers() but only copies a sub-region of the window
This extension was added in Mesa 2.6
</p>
-<h2>Summary of X-related environment variables</H2>
+<h2>Summary of X-related environment variables</h2>
<pre>
MESA_RGB_VISUAL - specifies the X visual and depth for RGB mode (X only)
MESA_CI_VISUAL - specifies the X visual and depth for CI mode (X only)