Merge remote branch 'vdpau/pipe-video' into pipe-video
[mesa.git] / docs / xlibdriver.html
index 7734542dcb9137d79c91ccdf2936893e5096782c..d95f4d579c62bded4f291e6e2077397a1f1b8df9 100644 (file)
@@ -22,7 +22,7 @@ software-only drivers.
 
 <p>
 Since the Xlib driver <em>emulates</em> the GLX extension, it's not
-totally conformance with a true GLX implementation.
+totally conformant with a true GLX implementation.
 The differences are fairly obscure, however.
 </p>
 
@@ -31,7 +31,7 @@ The unique features of the Xlib driver follows.
 </p>
 
 
-<H2>X Display Modes</H2>
+<H2>X Visual Selection</H2>
 <p>
 Mesa supports RGB(A) rendering into almost any X visual type and depth.
 </p>
@@ -68,19 +68,28 @@ Here are some examples:
 </pre>
 
 
-<H2>Double buffering</H2>
+<H2>Double Buffering</H2>
 <p>
-Mesa can use either an X Pixmap or XImage as the backbuffer when in
-double buffer mode.  Using GLX, the default is to use an XImage.  The
-<b>MESA_BACK_BUFFER</b> environment variable can override this.  The valid
-values for <b>MESA_BACK_BUFFER</b> are:  <b>Pixmap</b> and <b>XImage</b>
-(only the first letter is checked, case doesn't matter).
+Mesa can use either an X Pixmap or XImage as the back color buffer when in
+double-buffer mode.
+The default is to use an XImage.
+The <b>MESA_BACK_BUFFER</b> environment variable can override this.
+The valid values for <b>MESA_BACK_BUFFER</b> are:  <b>Pixmap</b> and
+<b>XImage</b> (only the first letter is checked, case doesn't matter).
 </p>
 
 <p>
-A pixmap is faster when drawing simple lines and polygons while an
-XImage is faster when Mesa has to do pixel-by-pixel rendering.  If you
-need depth buffering the XImage will almost surely be faster.
+Using XImage is almost always faster than a Pixmap since it resides in
+the application's address space.
+When glXSwapBuffers() is called, XPutImage() or XShmPutImage() is used
+to transfer the XImage to the on-screen window.
+</p>
+<p>
+A Pixmap may be faster when doing remote rendering of a simple scene.
+Some OpenGL features will be very slow with a Pixmap (for example, blending
+will require a round-trip message for pixel readback.)
+</p>
+<p>
 Experiment with the MESA_BACK_BUFFER variable to see which is faster
 for your application.
 </p>
@@ -107,7 +116,7 @@ significant.
 </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
@@ -171,11 +180,12 @@ SERVER_OVERLAY_VISUALS property:
 </pre>
 
 
-<H2>HPCR glClear(GL_COLOR_BUFFER_BIT) 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
 to HP systems with the HPCR (Color Recovery) feature.
+This incurs a small performance penalty.
 </p>