aco: implement divergent vulkan_resource_index
[mesa.git] / docs / faq.html
index 183bd4e31d95b91872c3e6c2cc9575ff98d13110..2d0f22ffd89c4437e1b20778601fcacfdab2bff6 100644 (file)
@@ -17,8 +17,6 @@
 <h1>Frequently Asked Questions</h1>
 Last updated: 19 September 2018
 
-<br>
-<br>
 <h2>Index</h2>
 <ol>
   <li><a href="#part1">High-level Questions and Answers</a></li>
@@ -26,8 +24,6 @@ Last updated: 19 September 2018
   <li><a href="#part3">Runtime / Rendering Problems</a></li>
   <li><a href="#part4">Developer Questions</a></li>
 </ol>
-<br>
-<br>
 
 <h2 id="part1">1. High-level Questions and Answers</h2>
 
@@ -100,17 +96,17 @@ the Xlib API:
 <li>The GLX wire protocol is not supported and there's no OpenGL extension
     loaded by the X server.
 <li>There is no hardware acceleration.
-<li>The OpenGL library, libGL.so, contains everything (the programming API,
-    the GLX functions and all the rendering code).
+<li>The OpenGL library, <code>libGL.so</code>, contains everything (the
+    programming API, the GLX functions and all the rendering code).
 </ul>
 <p>
 Alternately, Mesa acts as the core for a number of OpenGL hardware drivers
 within the DRI (Direct Rendering Infrastructure):
 <ul>
-<li>The libGL.so library provides the GL and GLX API functions, a GLX
-    protocol encoder, and a device driver loader.
-<li>The device driver modules (such as r200_dri.so) contain a built-in
-    copy of the core Mesa code.
+<li>The <code>libGL.so</code> library provides the GL and GLX API functions,
+    a GLX protocol encoder, and a device driver loader.
+<li>The device driver modules (such as <code>r200_dri.so</code>) contain
+    a built-in copy of the core Mesa code.
 <li>The X server loads the GLX module.
     The GLX module decodes incoming GLX protocol and dispatches the commands
     to a rendering module.
@@ -130,7 +126,7 @@ Just follow the Mesa <a href="install.html">compilation instructions</a>.
 
 <h2>1.6 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://web.archive.org/web/20171010115110_/http://oss.sgi.com/projects/ogl-sample/index.html">
 OpenGL Sample Implementation (SI)</a> is available.
 The SI was written during the time that OpenGL was originally designed.
 Unfortunately, development of the SI has stagnated.
@@ -142,8 +138,9 @@ Mesa is much more up to date with modern features and extensions.
 an open-source implementation of OpenGL ES for mobile devices.
 
 <p>
-<a href="http://www.dsbox.com/minigl.html">miniGL</a>
-is a subset of OpenGL for PalmOS devices.
+<a href="http://web.archive.org/web/20130830162848/http://www.dsbox.com/minigl.html">miniGL</a>
+is a subset of OpenGL for PalmOS devices. The website is gone, but the source
+code can still be found on <a href="https://sourceforge.net/projects/minigl/">sourceforge.net</a>.
 
 <p>
 <a href="http://bellard.org/TinyGL/">TinyGL</a>
@@ -173,14 +170,8 @@ popular and feature-complete.
 </p>
 
 
-
-<br>
-<br>
-
-
 <h2 id="part2">2. Compilation and Installation Problems</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
@@ -199,7 +190,8 @@ Mesa's not the solution.
 
 <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.
+GLUT (OpenGL Utility Toolkit) is no longer in the separate
+<code>MesaGLUT-x.y.z.tar.gz</code> file.
 If you don't already have GLUT installed, you should grab 
 <a href="http://freeglut.sourceforge.net/">freeglut</a>.
 </p>
@@ -207,28 +199,38 @@ If you don't already have GLUT installed, you should grab
 
 <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.
+GLw (OpenGL widget library) is now available from a separate <a href="https://gitlab.freedesktop.org/mesa/glw">git repository</a>.  Unless you're using very old Xt/Motif applications with OpenGL, you shouldn't need it.
 </p>
 
 
 <h2>2.5 What's the proper place for the libraries and headers?</h2>
 <p>
 On Linux-based systems you'll want to follow the
-<a href="http://oss.sgi.com/projects/ogl-sample/ABI/index.html">Linux ABI</a> standard.
+<a href="https://www.khronos.org/registry/OpenGL/ABI/">Linux ABI</a> standard.
 Basically you'll want the following:
 </p>
-<ul>
-<li>/usr/include/GL/gl.h - the main OpenGL header
-</li><li>/usr/include/GL/glu.h - the OpenGL GLU (utility) header
-</li><li>/usr/include/GL/glx.h - the OpenGL GLX header
-</li><li>/usr/include/GL/glext.h - the OpenGL extensions header
-</li><li>/usr/include/GL/glxext.h - the OpenGL GLX extensions header
-</li><li>/usr/include/GL/osmesa.h - the Mesa off-screen rendering header
-</li><li>/usr/lib/libGL.so - a symlink to libGL.so.1
-</li><li>/usr/lib/libGL.so.1 - a symlink to libGL.so.1.xyz
-</li><li>/usr/lib/libGL.so.xyz - the actual OpenGL/Mesa library.  xyz denotes the
+<dl>
+<dt><code>/usr/include/GL/gl.h</code></dt>
+<dd>the main OpenGL header</dd>
+<dt><code>/usr/include/GL/glu.h</code></dt>
+<dd>the OpenGL GLU (utility) header</dd>
+<dt><code>/usr/include/GL/glx.h</code></dt>
+<dd>the OpenGL GLX header</dd>
+<dt><code>/usr/include/GL/glext.h</code></dt>
+<dd>the OpenGL extensions header</dd>
+<dt><code>/usr/include/GL/glxext.h</code></dt>
+<dd>the OpenGL GLX extensions header</dd>
+<dt><code>/usr/include/GL/osmesa.h</code></dt>
+<dd>the Mesa off-screen rendering header</dd>
+<dt><code>/usr/lib/libGL.so</code></dt>
+<dd>a symlink to <code>libGL.so.1</code></dd>
+<dt><code>/usr/lib/libGL.so.1</code></dt>
+<dd>a symlink to <code>libGL.so.1.xyz</code></dd>
+<dt><code>/usr/lib/libGL.so.xyz</code></dt>
+<dd>the actual OpenGL/Mesa library.  xyz denotes the
 Mesa version number.
-</li></ul>
+</dd>
+</dl>
 <p>
 When configuring Mesa, there are three meson options that affect the install
 location that you should take care with: <code>--prefix</code>,
@@ -247,8 +249,6 @@ After determining the correct values for the install location, configure Mesa
 with <code>meson configure --prefix=/usr --libdir=xxx -D dri-drivers-path=xxx</code>
 and then install with <code>sudo ninja install</code>.
 </p>
-<br>
-<br>
 
 
 <h2 id="part3">3. Runtime / Rendering Problems</h2>
@@ -278,14 +278,14 @@ If your DRI-based driver isn't working, go to the
 <p>
 Make sure the ratio of the far to near clipping planes isn't too great.
 Look
-<a href="https://www.opengl.org/resources/faq/technical/depthbuffer.htm#0040">here</a>
+<a href="https://www.opengl.org/archives/resources/faq/technical/depthbuffer.htm#0040">here</a>
 for details.
 </p>
 <p>
 Mesa uses a 16-bit depth buffer by default which is smaller and faster
 to clear than a 32-bit buffer but not as accurate.
 If you need a deeper you can modify the parameters to
-<code> glXChooseVisual</code> in your code.
+<code>glXChooseVisual</code> in your code.
 </p>
 
 
@@ -321,9 +321,6 @@ 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>
-
 
 <h2 id="part4">4. Developer Questions</h2>