<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
- <title>Mesa FAQ</title>
+ <title>Frequently Asked Questions</title>
<link rel="stylesheet" type="text/css" href="mesa.css">
</head>
<body>
<div class="header">
- <h1>The Mesa 3D Graphics Library</h1>
+ The Mesa 3D Graphics Library
</div>
<iframe src="contents.html"></iframe>
<div class="content">
-<center>
-<h1>Mesa Frequently Asked Questions</h1>
+<h1>Frequently Asked Questions</h1>
Last updated: 19 September 2018
-</center>
<br>
<br>
<h2>Index</h2>
-<a href="#part1">1. High-level Questions and Answers</a>
+<ol>
+ <li><a href="#part1">High-level Questions and Answers</a></li>
+ <li><a href="#part2">Compilation and Installation Problems</a></li>
+ <li><a href="#part3">Runtime / Rendering Problems</a></li>
+ <li><a href="#part4">Developer Questions</a></li>
+</ol>
<br>
-<a href="#part2">2. Compilation and Installation Problems</a>
<br>
-<a href="#part3">3. Runtime / Rendering Problems</a>
-<br>
-<a href="#part4">4. Developer Questions</a>
-<br>
-<br>
-<br>
-
-
-<h1 id="part1">1. High-level Questions and Answers</h1>
+<h2 id="part1">1. High-level Questions and Answers</h2>
-<h2>1.1 What is Mesa?</h2>
+<h3>1.1 What is Mesa?</h3>
<p>
Mesa is an open-source implementation of the OpenGL specification.
OpenGL is a programming library for writing interactive 3D applications.
<br>
-<h1 id="part2">2. Compilation and Installation Problems</h1>
+<h2 id="part2">2. Compilation and Installation Problems</h2>
-<h2>2.1 What's the easiest way to install Mesa?</h2>
+<h3>2.1 What's the easiest way to install Mesa?</h3>
<p>
If you're using a Linux-based system, your distro CD most likely already
has Mesa packages (like RPM or DEB) which you can easily install.
</p>
-<h2>2.2 I get undefined symbols such as bgnpolygon, v3f, etc...</h2>
+<h3>2.2 I get undefined symbols such as bgnpolygon, v3f, etc...</h3>
<p>
You're application is written in IRIS GL, not OpenGL.
IRIS GL was the predecessor to OpenGL and is a different thing (almost)
</p>
-<h2>2.3 Where is the GLUT library?</h2>
+<h3>2.3 Where is the GLUT library?</h3>
<p>
GLUT (OpenGL Utility Toolkit) is no longer in the separate MesaGLUT-x.y.z.tar.gz file.
If you don't already have GLUT installed, you should grab
</p>
-<h2>2.4 Where is the GLw library?</h2>
+<h3>2.4 Where is the GLw library?</h3>
<p>
GLw (OpenGL widget library) is now available from a separate <a href="https://cgit.freedesktop.org/mesa/glw/">git repository</a>. Unless you're using very old Xt/Motif applications with OpenGL, you shouldn't need it.
</p>
<br>
-<h1 id="part3">3. Runtime / Rendering Problems</h1>
+<h2 id="part3">3. Runtime / Rendering Problems</h2>
-<h2>3.1 Rendering is slow / why isn't my graphics hardware being used?</h2>
+<h3>3.1 Rendering is slow / why isn't my graphics hardware being used?</h3>
<p>
If Mesa can't use its hardware accelerated drivers it falls back on one of its software renderers.
(eg. classic swrast, softpipe or llvmpipe)
</p>
-<h2>3.2 I'm seeing errors in depth (Z) buffering. Why?</h2>
+<h3>3.2 I'm seeing errors in depth (Z) buffering. Why?</h3>
<p>
Make sure the ratio of the far to near clipping planes isn't too great.
Look
</p>
-<h2>3.3 Why Isn't depth buffering working at all?</h2>
+<h3>3.3 Why Isn't depth buffering working at all?</h3>
<p>
-Be sure you're requesting a depth buffered-visual. If you set the MESA_DEBUG
-environment variable it will warn you about trying to enable depth testing
-when you don't have a depth buffer.
+Be sure you're requesting a depth buffered-visual. If you set the
+<code>MESA_DEBUG</code> environment variable it will warn you about trying
+to enable depth testing when you don't have a depth buffer.
</p>
<p>Specifically, make sure <code>glutInitDisplayMode</code> is being called
with <code>GLUT_DEPTH</code> or <code>glXChooseVisual</code> is being
-called with a non-zero value for GLX_DEPTH_SIZE.
+called with a non-zero value for <code>GLX_DEPTH_SIZE</code>.
</p>
<p>This discussion applies to stencil buffers, accumulation buffers and
alpha channels too.
</p>
-<h2>3.4 Why does glGetString() always return NULL?</h2>
+<h3>3.4 Why does <code>glGetString()</code> always return <code>NULL</code>?</h3>
<p>
Be sure you have an active/current OpenGL rendering context before
-calling glGetString.
+calling <code>glGetString</code>.
</p>
-<h2>3.5 GL_POINTS and GL_LINES don't touch the right pixels</h2>
+<h3>3.5 <code>GL_POINTS</code> and <code>GL_LINES</code> don't touch the
+right pixels</h3>
<p>
-If you're trying to draw a filled region by using GL_POINTS or GL_LINES
-and seeing holes or gaps it's because of a float-to-int rounding problem.
-But this is not a bug.
-See Appendix H of the OpenGL Programming Guide - "OpenGL Correctness Tips".
-Basically, applying a translation of (0.375, 0.375, 0.0) to your coordinates
-will fix the problem.
+If you're trying to draw a filled region by using <code>GL_POINTS</code> or
+<code>GL_LINES</code> and seeing holes or gaps it's because of a float-to-int
+rounding problem. But this is not a bug. See Appendix H of the OpenGL
+Programming Guide - "OpenGL Correctness Tips". Basically, applying a
+translation of (0.375, 0.375, 0.0) to your coordinates will fix the problem.
</p>
<br>
<br>
-<h1 id="part4">4. Developer Questions</h1>
+<h2 id="part4">4. Developer Questions</h2>
-<h2>4.1 How can I contribute?</h2>
+<h3>4.1 How can I contribute?</h3>
<p>
First, join the <a href="lists.html">mesa-dev mailing list</a>.
That's where Mesa development is discussed.
extensions, writing hardware drivers (for the DRI), and code optimization.
</p>
-<h2>4.2 How do I write a new device driver?</h2>
+<h3>4.2 How do I write a new device driver?</h3>
<p>
Unfortunately, writing a device driver isn't easy.
It requires detailed understanding of OpenGL, the Mesa code, and your
</p>
-<h2>4.3 Why isn't GL_EXT_texture_compression_s3tc implemented in Mesa?</h2>
+<h3>4.3 Why isn't <code>GL_EXT_texture_compression_s3tc</code> implemented in
+Mesa?</h3>
<p>
Oh but it is! Prior to 2nd October 2017, the Mesa project did not include s3tc
support due to intellectual property (IP) and/or patent issues around the s3tc