CPU Architectures

DRI Compilation Guide : CPU Architectures
Previous: Linux Kernel Preparation
Next: Downloading the XFree86/DRI CVS Sources

## 5. CPU Architectures

In general, nothing special has to be done to use the DRI on different CPU architectures. There are, however, a few optimizations that are CPU-dependent. Mesa will determine at runtime which CPU-dependent optimizations should be used and enable them where appropriate.

### 5.1. Intel Pentium III Features

The Pentium III SSE (Katmai) instructions are used in optimized vertex transformation functions in the Mesa-based DRI drivers. On Linux, SSE requires a recent kernel (such as 2.4.0-test11 or later) both at compile time and runtime.

### 5.2. AMD 3DNow! Features

AMD's 3DNow! instructions are used in optimized vertex transformation functions in the Mesa-based DRI drivers. 3DNow! is supported in most versions of Linux.

### 5.3. Alpha Features

On newer Alpha processors a significant performance increase can be seen with the addition of the -mcpu= option to GCC. This option is dependent on the architecture of the processor. For example, -mcpu=ev6 will build specifically for the EV6 based AXP's, giving both byte and word alignment access to the DRI/Mesa drivers.

To enable this optimization edit your xc/config/host.def file and add the line:

#define DefaultGcc2AxpOpt -O2 -mcpu=ev6

Additional speed improvements to 3D rendering can be achieved by installing Compaq's Math Libraries (CPML) which can be obtained from http://www.support.compaq.com/alpha-tools/software/index.html

Once installed, you can add this line to your host.def to build with the CPML libraries:

#define UseCompaqMathLibrary YES

The host.def file is explained below.

DRI Compilation Guide : CPU Architectures
Previous: Linux Kernel Preparation
Next: Downloading the XFree86/DRI CVS Sources