Missing in last commit.
[mesa.git] / docs / faq.html
index 448def5274f207dfe5956a25a53d52c28dea338b..9e78192a4eb6d12c37368051c2c3d1d0187747b4 100644 (file)
@@ -7,7 +7,7 @@
 
 <center>
 <h1>Mesa Frequently Asked Questions</h1>
-Last updated: 7 March 2003
+Last updated: 31 December 2003
 </center>
 
 <br>
@@ -32,20 +32,20 @@ Last updated: 7 March 2003
 <h2><a name="part1">1.1 What is Mesa?</a></h2>
 <p>
 <a name="part1">Mesa is an open-source implementation of the OpenGL specification.
-OpenGL is a high-level programming library for interactive 3D graphics.
+OpenGL is a programming library for writing interactive 3D applications.
 See the </a><a href="http://www.opengl.org/">OpenGL website</a> for more
 information.
 </p>
 <p>
-Mesa 5.0.x supports the OpenGL 1.4 specification.
+Mesa 5.x supports the OpenGL 1.4 specification.
 </p>
 
 
 <h2>1.2 Does Mesa support/use graphics hardware?</h2>
 <p>
-Yes.  Specifically, Mesa serves as the OpenGL core for the XFree86/DRI
-OpenGL drivers.  See the <a href="http://dri.sf.net/">DRI website</a> for
-more information.
+Yes.  Specifically, Mesa serves as the OpenGL core for the open-source
+XFree86/DRI OpenGL drivers.  See the <a href="http://dri.sf.net/">DRI
+website</a> for more information.
 </p>
 <p>
 There have been other hardware drivers for Mesa over the years (such as
@@ -53,57 +53,87 @@ the 3Dfx Glide/Voodoo driver, an old S3 driver, etc) but the DRI drivers
 are the modern ones.
 </p>
 
-<h2>1.3 What purpose does (software) Mesa serve today?</h2>
+<h2>1.3 What purpose does Mesa (software-based rendering) serve today?</h2>
 <p>
-Commercial, hardware-accelerated OpenGL implementations are available for
-many operating systems today.
+Hardware-accelerated OpenGL implementations are available for most popular
+operating systems today.
 Still, Mesa serves at least these purposes:
 </p>
 <ul>
-<li>Mesa is used as the core of the XFree86/DRI hardware drivers.
-</li><li>Mesa is quite portable and allows OpenGL to be used on systems that have
-    no other OpenGL solution.
-</li><li>Software rendering with Mesa serves as a reference for validating the
+<li>Mesa is used as the core of the open-source XFree86/DRI hardware drivers.
+</li>
+<li>Mesa is quite portable and allows OpenGL to be used on systems
+    that have no other OpenGL solution.
+</li>
+<li>Software rendering with Mesa serves as a reference for validating the
     hardware drivers.
-</li><li>A software implementation of OpenGL is useful for experimentation, such
-    as testing new rendering techniques.
-</li><li>Mesa can render images with deep color channels: 16-bit integer and 32-bit
-    floating point color channels are supported.
+</li>
+<li>A software implementation of OpenGL is useful for experimentation,
+    such as testing new rendering techniques.
+</li>
+<li>Mesa can render images with deep color channels: 16-bit integer
+    and 32-bit floating point color channels are supported.
     This capability is only now appearing in hardware.
-</li><li>Mesa's internal limits (max lights, clip planes, texture size, etc) can be
+</li>
+<li>Mesa's internal limits (max lights, clip planes, texture size, etc) can be
     changed for special needs (hardware limits are hard to overcome).
-</li></ul>
+</li>
+</ul>
 
 <h2>1.4 How do I upgrade my DRI installation to use a new Mesa release?</h2>
 <p>
-You don't!  The Mesa source code lives inside the XFree86/DRI source tree
-and gets compiled into the individual DRI driver modules.
+You don't!  A copy of the Mesa source code lives inside the XFree86/DRI source
+tree and gets compiled into the individual DRI driver modules.
 If you try to install Mesa over an XFree86/DRI installation, you'll lose
-hardware rendering (because Mesa's libGL.so is different than the XFree86
-libGL.so).
+hardware rendering (because stand-alone Mesa's libGL.so is different than
+the XFree86 libGL.so).
 </p>
 <p>
 The DRI developers will incorporate the latest release of Mesa into the
 DRI drivers when the time is right.
 </p>
+<p>
+To upgrade, either look for a new release of <a href="http://www.xfree86.org"
+target="_parent">XFree86</a> or visit the
+<a href="http://dri.sf.net" target="_parent">DRI website</a> to see
+if there's newer drivers.
+</p>
+
 
 <h2>1.5 Are there other open-source implementations of OpenGL?</h2>
 <p>
-Yes, SGI's <a href="http://oss.sgi.com/projects/ogl-sample/index.html">
+Yes, SGI's <a href="http://oss.sgi.com/projects/ogl-sample/index.html"
+target="_parent">
 OpenGL Sample Implemenation (SI)</a> is available.
 The SI was written during the time that OpenGL was originally designed.
 Unfortunately, development of the SI has stagnated.
 Mesa is much more up to date with modern features and extensions.
 </p>
 <p>
-<a href="http://www.dsbox.com/minigl.html">miniGL</a> is a subset of OpenGL
-for PalmOS devices.
+<a href="http://www.dsbox.com/minigl.html" target="_parent">miniGL</a>
+is a subset of OpenGL for PalmOS devices.
+
+<p>
+<a href="http://fabrice.bellard.free.fr/TinyGL/"
+target="_parent">TinyGL</a> is a subset of OpenGL.
+</p>
+
+<p>
+<a href="http://softgl.studierstube.org/" target="_parent">SoftGL</a>
+is an OpenGL subset for mobile devices.
+</p>
 
-<a href="http://fabrice.bellard.free.fr/TinyGL/">TinyGL</a> is another
-subset of OpenGL.
+<p>
+<a href="http://chromium.sourceforge.net/" target="_parent">Chromium</a>
+isn't a conventional OpenGL implementation (it's layered upon OpenGL),
+but it does export the OpenGL API.  It allows tiled rendering, sort-last
+rendering, etc.
 </p>
+
+
 <p>
-There may be others but Mesa is the most popular and feature-complete.
+There may be other open OpenGL implementations, but Mesa is the most
+popular and feature-complete.
 </p>
 
 <br>
@@ -173,8 +203,8 @@ package and unpack it before compiling Mesa.
 <h2><a name="part2">2.6 What's the proper place for the libraries and headers?</a></h2>
 <p>
 <a name="part2">On Linux-based systems you'll want to follow the
-</a><a href="http://oss.sgi.com/projects/ogl-sample/ABI/index.html">Linux ABI</a>
-standard.
+</a><a href="http://oss.sgi.com/projects/ogl-sample/ABI/index.html"
+target="_parent">Linux ABI</a> standard.
 Basically you'll want the following:
 </p>
 <ul>
@@ -230,7 +260,7 @@ hardware it has detected.
 </a></p>
 <p>
 <a name="part3">If your DRI-based driver isn't working, go to the
-</a><a href="http://dri.sf.net/">DRI website</a> for trouble-shooting information.
+</a><a href="http://dri.sf.net/" target="_parent">DRI website</a> for trouble-shooting information.
 </p>
 
 
@@ -238,7 +268,8 @@ hardware it has detected.
 <p>
 Make sure the ratio of the far to near clipping planes isn't too great.
 Look
-<a href="http://www.sgi.com/software/opengl/advanced97/notes/node18.html">
+<a href="http://www.sgi.com/software/opengl/advanced97/notes/node18.html"
+target="_parent">
 here</a> for details.
 </p>
 <p>
@@ -294,7 +325,7 @@ will fix the problem.
 is discussed.
 </a></p>
 <p>
-<a name="part4">The </a><a href="http://www.opengl.org/developers/documentation/specs.html">
+<a name="part4">The </a><a href="http://www.opengl.org/developers/documentation/specs.html" target="_parent">
 OpenGL Specification</a> is the bible for OpenGL implemention work.
 You should read it.
 </p>
@@ -326,5 +357,22 @@ the archives) is a good way to get information.
 </p>
 
 
+<h2>4.3 Why isn't GL_EXT_texture_compression_s3tc implemented in Mesa and/or the DRI drivers?</h2>
+<p>
+The <a href="http://oss.sgi.com/projects/ogl-sample/registry/EXT/texture_compression_s3tc.txt" target="_parent">specification for the extension</a>
+indicates that there are intellectual property (IP) and/or patent issues
+to be dealt with.
+</p>
+<p>We've been unsucessful in getting a response from S3 (or whoever owns
+the IP nowadays) to indicate whether or not an open source project can
+implement the extension (specifically the compression/decompression
+algorithms).
+</p>
+<p>
+Until we can get official permission to do so, this extension will not
+be implemented in Mesa.
+</p>
+
+
 </body>
 </html>