summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbrianp <brianp>2001-06-21 19:10:21 +0000
committerbrianp <brianp>2001-06-21 19:10:21 +0000
commitc314239f26d743d985bb0b8b6cb1e92773728fd0 (patch)
tree5faa60d58230070fe51ac09324ba79cadcfd8b33
parent8d0b5448ef10a9f89389a8f4d517b550ea8d2195 (diff)
merge from trunk, updated Radeon hw stencil itemmesa-3-5-20010621-freeze
-rw-r--r--xc/programs/Xserver/hw/xfree86/doc/sgml/DRI.sgml204
1 files changed, 142 insertions, 62 deletions
diff --git a/xc/programs/Xserver/hw/xfree86/doc/sgml/DRI.sgml b/xc/programs/Xserver/hw/xfree86/doc/sgml/DRI.sgml
index db7f14955..db4d02d08 100644
--- a/xc/programs/Xserver/hw/xfree86/doc/sgml/DRI.sgml
+++ b/xc/programs/Xserver/hw/xfree86/doc/sgml/DRI.sgml
@@ -10,10 +10,10 @@
<author>
<htmlurl url="http://www.valinux.com/"
name="VA Linux Systems, Inc."> Professional Services - Graphics.
- <date>15 March 2001
+ <date>15 June 2001
<ident>
- $XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/DRI.sgml,v 1.16 2001/01/08 01:07:33 martin Exp $
+ $XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/DRI.sgml,v 1.24 2001/05/19 00:42:22 dawes Exp $
</ident>
<toc>
@@ -74,9 +74,9 @@
to brianp@valinux.com.
<sect>Supported Architectures & Hardware
- <p>
+<p>
<sect1>CPU Architectures
- <p>
+<p>
The architectures currently supported by the DRI have grown
from the initial Intel i386 systems to now include the Alpha
Processor and the Sun SPARC machines.
@@ -99,7 +99,7 @@
details.
<sect1> Graphics Hardware
- <p>
+<p>
XFree86 4.0 (or later versions) includes 3D acceleration for the
following graphics hardware:
@@ -129,22 +129,23 @@
<item>i810-dc100
<item>i810e
</itemize>
- <item>ATI Rage 128, supported on Intel x86 and AMD:
+ <item>ATI Rage 128, supported on Intel x86, AMD and Alpha:
<itemize>
- <item>Rage Fury AGP
- <item>Rage Magnum AGP
- <item>XPERT 2000 AGP
- <item>XPERT 128 AGP
- <item>XPERT 99 AGP
- <item>All-in-Wonder 128 AGP
+ <item>Rage Fury
+ <item>Rage Magnum
+ <item>XPERT 2000
+ <item>XPERT 128
+ <item>XPERT 99
+ <item>All-in-Wonder 128
+ <item>Rage 128 PCI (Alpha-based systems)
</itemize>
- The PCI versions of these cards also have minimal support.
- Note that there are Rage 128 Pro boards on the market but they're
- not yet supported.
- <item>ATI Radeon, supported on Intel x86 and AMD:
+ Note that both PCI and AGP versions of Rage 128 based cards
+ are supported at this time.
+ <item>ATI Radeon, supported on Intel x86, AMD and Alpha:
<itemize>
<item>Radeon SDR AGP
<item>Radeon DDR AGP
+ <item>Radeon 32MB SDR PCI (Alpha-based systems)
</itemize>
<item>3Dlabs, supported on Intel x86 and AMD:
<itemize>
@@ -176,7 +177,7 @@
<sect>Kernel Modules
- <p>
+<p>
3D hardware acceleration requires a DRI kernel module that's
specific to your graphics hardware.
<P>
@@ -205,7 +206,7 @@
exists.
<sect>XF86Config file
- <p>
+<p>
The XFree86 configuration file is usually found in
<tt>/etc/X11/XF86Config</tt>.
This section describes the parts which must be specially set for
@@ -497,7 +498,7 @@
setpci -s 01:00.0 4.w
</verb>
<p>
- A hexidecimal value will be printed. Convert the least significant
+ A hexadecimal value will be printed. Convert the least significant
digit to binary. For example, if you see 3, that's 0011 in binary
(bit two is 0). If you see 7, that's 0111 in binary (bit two is 1).
In the first example, bus mastering is disabled. It's enabled in
@@ -678,7 +679,7 @@
<sect1>3dfx Banshee, Voodoo3, Voodoo4 and Voodoo5 Series
<p>
- <sect2>Dependencies
+ <sect2>Requirements
<p>
The 3dfx DRI driver requires special versions of the 3dfx Glide
library.
@@ -792,7 +793,7 @@
32bpp mode is fully 3D accelerated.
</itemize>
- <sect2>Performance
+ <sect2>Performance and Features
<p>
<itemize>
<item>
@@ -874,6 +875,9 @@
<item>
The lowest mipmap level is sometimes miscolored in trilinear-
sampled polygons.
+ <item>
+ The GL_EXT_texture_env_combine extension is supported on the
+ Voodoo4 and Voodoo5.
</itemize>
<sect2>Known Problems
@@ -899,17 +903,14 @@
<sect1>Intel i810
- <p>
- <sect2>Dependencies
- <p>
- A Linux kernel with AGP GART support is required.
- The 2.2.x kernel series does not have AGP GART support.
- The 2.4.x test kernels have AGP GART and have been tested
- with the i810.
- <p>
+<p>
+ <sect2>Requirements
+<p>
+ A kernel with AGP GART support (such as Linux 2.4.x) is needed.
+<p>
<sect2>Configuration
- <p>
+<p>
Your XF86Config file's device section must specify the
<tt>i810</tt> device, and specify a usable amount of video
ram to reserve.
@@ -966,17 +967,31 @@
rendering will be disabled.
</itemize>
+ <sect2>Performance and Features
+<p>
+ Basically all of the i810 features which can be exposed through
+ OpenGL 1.2 are implemented.
+ However, the following OpenGL features are implemented in software
+ and will be slow:
+ <itemize>
+ <item>Stencil buffer and accumulation buffer operations
+ <item>Blend subtract, min/max and logic op blend modes
+ <item>glColorMask when any mask is set to false
+ <item>GL_SEPARATE_SPECULAR_COLOR lighting mode
+ <item>glDrawBuffer(GL_FRONT_AND_BACK)
+ <item>Using 1D or 3D textures
+ <item>Using texture borders
+ </itemize>
<p>
<sect1>Matrox G200 and G400
- <p>
- <sect2>Dependencies
- <p>
- A Linux kernel with AGP GART support (such as the 2.4.x test
- kernels) is needed.
- <p>
+<p>
+ <sect2>Requirements
+<p>
+ A kernel with AGP GART support (such as Linux 2.4.x) is needed.
+<p>
<sect2>Configuration
- <p>
+<p>
Your XF86Config file's device section must specify the
<tt>mga</tt> device:
<verb>
@@ -1028,7 +1043,7 @@
<tt>/usr/X11R6/lib/modules/dri/mga_dri.so</tt>.
This will be automatically loaded by libGL.so.
- <sect2>Performance
+ <sect2>Performance and Features
<p>
Software rendering will be used under any of the
following conditions:
@@ -1047,6 +1062,31 @@
Higher AGP speeds may result in unreliable performance depending
on your motherboard.
+<p>
+ Compaq has funded the implementation of AGP accelerated
+ ReadPixels and DrawPixels in this driver. With this
+ implementation, on a G400 drawing directly from AGP memory
+ (exported to the client), throughput of up to 1 GB/sec has
+ been measured.
+
+<p>
+ Additionally Compaq's funding has produced several new
+ extensions in Mesa, including one (packed_depth_stencil_MESA)
+ which enables Read/DrawPixels functionality to operate
+ directly on the packed 24/8 depth/stencil buffers of this
+ hardware.
+
+<p>
+ In order to access this functionality, the application must
+ ensure that all pixel processing operations are disabled.
+ There are in addition a fairly complex set of rules regarding
+ which packing/unpacking modes must be used, and which data
+ formats are supported, and alignment constraints. See the
+ files in lib/GL/mesa/src/drv/mga/DOCS for a summary of these.
+ The extension definitions are included in the Mesa 3.4 source
+ distribution.
+
+
<sect2>IRQ Assignment
<p>
There have been problems in the past with the MGA driver being very
@@ -1100,14 +1140,13 @@
<sect1>ATI Rage 128
- <p>
- <sect2>Dependencies
- <p>
- A Linux kernel with AGP GART support (such as the 2.4.x test
- kernels) is needed.
- <p>
+<p>
+ <sect2>Requirements
+<p>
+ A kernel with AGP GART support (such as Linux 2.4.x) is needed.
+<p>
<sect2>Configuration
- <p>
+<p>
Your XF86Config file's device section must specify the
<tt>ati</tt> device:
<verb>
@@ -1150,7 +1189,7 @@
You may also set your screen depth to 32 for 32bpp mode.
<p>
- <sect2>Performance
+ <sect2>Performance and Features
<p>
While PCI Rage 128 based cards are supported, they do not yet
support PCI GART, so they will not perform as well as their
@@ -1160,7 +1199,21 @@
used by default.
Higher AGP speeds may result in unreliable performance depending
on your motherboard.
-
+<p>
+ Note that even at 32bpp there is no alpha channel.
+<p>
+ The following OpenGL features are implemented in software and
+ will be slow:
+ <itemize>
+ <item>accumulation buffer operations
+ <item>stencil, when using a 16bpp screen
+ <item>Blend subtract, min/max and logic op blend modes
+ <item>GL_SEPARATE_SPECULAR_COLOR lighting mode
+ <item>glDrawBuffer(GL_FRONT_AND_BACK)
+ <item>Using 1D or 3D textures
+ <item>Using texture borders
+ </itemize>
+<p>
<sect2>Known Problems
<p>
If you experience stability problems you may try setting the
@@ -1171,14 +1224,13 @@
<sect1>ATI Radeon
- <p>
- <sect2>Dependencies
- <p>
- A Linux kernel with AGP GART support (such as the 2.4.x test
- kernels) is needed.
- <p>
+<p>
+ <sect2>Requirements
+<p>
+ A kernel with AGP GART support (such as Linux 2.4.x) is needed.
+<p>
<sect2>Configuration
- <p>
+<p>
Your XF86Config file's device section must specify the
<tt>ati</tt> device:
<verb>
@@ -1220,7 +1272,7 @@
You may also set your screen depth to 32 for 32bpp mode.
<p>
- <sect2>Performance
+ <sect2>Performance and Features
<p>
While this driver supports many of the features of ATI Radeon
cards, we do not <em/yet/ fully support the card's TCL
@@ -1229,11 +1281,38 @@
The AGP mode may be set to 1, 2, or 4. One is used by default.
Higher AGP speeds may result in unreliable performance depending
on your motherboard.
-
+<p>
+ The following OpenGL features are implemented in software and will
+ be slow:
+ <itemize>
+ <item>Blend subtract, blend min/max and blend logicops
+ <item>Stencil and accumulation operations
+ <item>1D and 3D textures
+ <item>Texture borders
+ </itemize>
+<p>
+ The GL_EXT_texture_env_combine, GL_EXT_texture_env_add and
+ GL_EXT_texture_env_dot3 extensions are supported (or will be
+ soon supported in the new driver based on Mesa 3.5).
+<p>
+ We hope to implement support for the following features in the
+ future:
+ <itemize>
+ <item>Vertex transformation, clipping and lighting (TCL)
+ <item>Hardware stencil buffer
+ <item>Cube map textures
+ <item>3D textures
+ <item>Three texture units
+ </itemize>
+<p>
<sect2>Known Problems
<p>
- None.
-
+ Certain (early?) revisions of the AMD Irongate chipset have
+ AGPGART problems which effect Radeon, and other graphics cards.
+ The card may work unreliably, or not work at all. If the DRM
+ kernel module is not loaded, the 2D Xserver may work. There's
+ hope that this can be fixed in the future.
+<p>
<sect1>3DLabs Oxygen GMX 2000
<p>
@@ -1249,7 +1328,7 @@
overlays, stereo, hardware-accelerated indirect rendering.
<p>
OpenGL-like functionality is provided with the Mesa library.
- XFree86 4.0.2 uses Mesa 3.4.
+ XFree86 4.1.0 uses Mesa 3.4.2.
Subsequent releases of XFree86 will use newer versions of Mesa.
When newer versions of Mesa are available, the 3D drivers can
be updated without reinstalling XFree86 or libGL.so.
@@ -1344,8 +1423,8 @@
<p>
A collection of useful configuration files, libraries, headers,
utilities and demo programs is available from
- <htmlurl url="http://dri.sourceforge.net/resources/resources.html"
- name="http://dri.sourceforge.net/resources/resources.html">
+ <htmlurl url="http://dri.sourceforge.net/res.phtml"
+ name="http://dri.sourceforge.net/res.phtml">
<sect1>Documentation
<p>
@@ -1360,7 +1439,8 @@
<item>Visit the <htmlurl url="http://dri.sourceforge.net"
name="DRI project on SourceForge.net"> for the latest development
news about the DRI and 3D drivers.
- <item>The <htmlurl url="http://dri.sourceforge.net/DRIcompile.html"
+ <item>The <htmlurl
+ url="http://dri.sourceforge.net/doc/DRIcompile.html"
name="DRI Compilation Guide"> explains how to download, compile
and install the DRI for yourself.
</itemize>